Git将特定提交推送到远程分支

时间:2013-06-17 10:34:58

标签: git version-control

我在Bitbucket上有一个Git仓库。如果我有3个分支说masterbranch_2branch_3。我已将master分支机构下拉到我的本地机器,我已对其进行了更改,提交和推送。现在为了使事情保持最新,我想将该提交推送到branch_2branch_3我该怎么做?我没有在本地设置这些分支。

我已尝试git pull origin branch_2在本地设置该分支但我现在正在

  

自动合并.gitignore CONFLICT(添加/添加):合并冲突   .gitignore自动合并失败;修复冲突,然后提交   结果

1 个答案:

答案 0 :(得分:2)

要结帐另一个分支,您必须:

git checkout --track origin/branch_2

这将创建一个名为branch_2的新本地分支,该分支设置为跟踪origin上的等效远程分支。

然后git pull获取该分支上的更改,以防您没有提取。

接下来,你无法推送提交,你只能推头。你想要做的是复制分支之间的提交。并且有一个简单的命令可以做到这一点:

git cherry-pick master

这会将master分支的最新提交复制到当前的提交。如果您想要特定的提交而不是分支头,则可以指定其SHA:

git cherry-pick 3f8917a

我建议使用-x参数,该参数会添加一条注释,指出这是一个复制的提交,以及从中复制的位置:

git cherry-pick -x master

之后,只需git push