Git:将特定的提交移动到另一个分支
有两个分支的存储库。
主分支承诺:
c1,c2,c3,c4,c5,c6,c7,...,c15,...
分段分支提交:
c1,c2,c3,c4,c5,c6,c7
我想将c7之后的所有提交从主分支转移到分段分支
然后恢复Master分支
同
git reset --hard c7-hash
如何将特定的提交从一个分支移动/复制到另一个分支?
在你描述的情况下,在分支分支上的所有提交也都在主分支上,这很简单:
git checkout staging
git merge master
git checkout master
git reset --hard c7-hash
合并将是一个快速发展。
在一般情况下,您可以使用git cherry-pick c8 c9 c10 c11 c12 c13 c14 c15
来挑选单个提交到当前分支。 樱桃挑选所有提交的主要但不是当前分支的更简短的方法是git cherry-pick ..master
,并且还有其他示例显示git help cherry-pick