我在Bitbucket上有一个Git仓库。如果我有3个分支说master
,branch_2
和branch_3
。我已将master
分支机构下拉到我的本地机器,我已对其进行了更改,提交和推送。现在为了使事情保持最新,我想将该提交推送到branch_2
和branch_3
我该怎么做?我没有在本地设置这些分支。
我已尝试git pull origin branch_2
在本地设置该分支但我现在正在
自动合并.gitignore CONFLICT(添加/添加):合并冲突 .gitignore自动合并失败;修复冲突,然后提交 结果
答案 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
。