Git:将特定提交移动到另一个分支

时间:2013-02-04 23:43:34

标签: git git-commit

拥有两个分支的存储库。

主分支提交:

c1,c2,c3,c4,c5,c6,c7,...,c15,......

Staging Branch提交:

c1,c2,c3,c4,c5,c6,c7

我想在 c7 之后将所有提交从Master分支转移到分段分支

然后还原主分支

git reset --hard c7-hash

如何将特定提交从一个分支移动/复制到另一个分支?

1 个答案:

答案 0 :(得分:35)

在您描述的情况下,登台分支上的所有提交也在主分支上,这很容易:

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

显示的其他示例