一个有两个分支的存储库。
主分支提交:
c1, c2, c3, c4, c5, c6, c7, ..., c15, ...
暂存分支提交:
c1、c2、c3、c4、c5、c6、c7
我想在c7之后将所有提交从主分支移动到暂存分支
然后恢复主分支
和
git reset --hard c7-hash
如何将特定提交从一个分支移动/复制到另一个分支?
一个有两个分支的存储库。
主分支提交:
c1, c2, c3, c4, c5, c6, c7, ..., c15, ...
暂存分支提交:
c1、c2、c3、c4、c5、c6、c7
我想在c7之后将所有提交从主分支移动到暂存分支
然后恢复主分支
和
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
挑选单个提交到当前分支。一个更短的方式来挑选所有在 master 但不是当前分支的提交,git cherry-pick ..master
还有其他示例显示git help cherry-pick