phpstudy做网站运营的坏处,wordpress高校主题,qq是哪家公司运营的,html网页跳转代码git笔记之在多个分支中复用某个分支提交的更改 code review! 文章目录 git笔记之在多个分支中复用某个分支提交的更改1.实现该功能的 Bash 脚本示例2.这个脚本是否可以处理新添加的文件#xff1f;3.该脚本使用前#xff0c;应先使用下述脚本重置本地仓库所有分支与远程保持一…git笔记之在多个分支中复用某个分支提交的更改 code review! 文章目录 git笔记之在多个分支中复用某个分支提交的更改1.实现该功能的 Bash 脚本示例2.这个脚本是否可以处理新添加的文件3.该脚本使用前应先使用下述脚本重置本地仓库所有分支与远程保持一致确保干净的工作区4.git cherry-pick的含义用法主要特点示例 1.实现该功能的 Bash 脚本示例
# 定义具体的提交哈希
commit_hashcommit-hash# 定义目标分支
branches(branch1 branch2 branch3)# 在每个目标分支上应用更改
for branch in ${branches[]}; dogit checkout $branchgit cherry-pick $commit_hashgit push origin $branch
done# 返回到最初的分支
git checkout source-branch2.这个脚本是否可以处理新添加的文件
这个脚本可以处理新添加的文件但有一些注意事项 新文件的处理git cherry-pick会尝试将指定的提交包含新文件的提交应用到目标分支上。如果新文件在目标分支中不存在cherry-pick会将其添加。 冲突的处理如果目标分支中有与新文件同名的文件或者其他更改导致冲突cherry-pick会产生冲突需要手动解决。 确保干净的工作区在运行脚本之前请确保工作树和索引中没有未提交的更改以避免冲突或混乱。
因此这个脚本可以应用包含新文件的提交但在冲突的情况下需要额外的手动干预。
3.该脚本使用前应先使用下述脚本重置本地仓库所有分支与远程保持一致确保干净的工作区
#!/bin/bash# 获取当前所在的分支
initial_branch$(git rev-parse --abbrev-ref HEAD)# 从远程拉取所有最新的信息
git fetch --all# 获取所有的本地跟踪分支
branches($(git branch -r | grep -v \- | while read remote; do echo ${remote#origin/}; done))# 遍历每个分支
for branch in ${branches[]}; do# 切换到该分支git checkout $branch || { echo 无法切换到分支: $branch; continue; }# 从远程拉取最新代码并强制更新git reset --hard origin/$branchgit clean -fd# 输出信息echo 分支 $branch 已重置为与远程保持一致。
done# 返回到最初的分支
git checkout $initial_branch4.git cherry-pick的含义
git cherry-pick 是一个 Git 命令用于将某个提交或多个提交的更改从一个分支复制到另一个分支。它的主要用途是选择性地应用特定的提交而不需要合并整个分支。
用法
git cherry-pick commit-hash主要特点
选择性应用只应用指定的提交不影响其他提交。有助于修复问题快速将 bug 修复从一个分支移植到另一个分支。冲突处理如果存在冲突需要手动解决并继续。
示例 在分支 A 上进行更改并提交 git checkout A
# 做一些更改
git commit -m Fix issue #123切换到分支 B 并应用提交 git checkout B
git cherry-pick commit-hash这样分支 B 就会包含在 A 上的特定更改。