git:合并两个分支:正确的步骤是什么?

时间:2012-04-10 19:29:08

标签: git github

对于我的一个项目,我通常需要从开发分支创建新分支,当我完成我的工作(在新分支中)时,我需要将new-branch合并到开发分支中。这是我要做的步骤:

 git clone –b development <git repository url>
 git branch new-branch
 git checkout new-branch
 git push --all

我在新分支中执行代码,在新分支中执行提交/推送代码。

现在我需要将new-branch合并到开发中(请注意,当我在new-branch中完成任务时,开发分支会进一步提交其他开发人员)。我的查询是什么是将新分支合并到开发分支并将其推送到远程存储库的正确方法?

谢谢

3 个答案:

答案 0 :(得分:1)

我更喜欢将功能分支作为压缩提交放在develop(ment)之上,然后将其丢弃。

git checkout development
git merge --squash new-branch
git branch -D new-branch
git push origin :new-branch

这样,您将保留包含整个功能的单个提交。

答案 1 :(得分:0)

如果其他人正在推动'发展'那么,正如您可能已经看到的那样,由于“非快进”警告,您的推动可能会失败。因此,正确的方法是首先从开发,构建和测试中提取更改,然后再推回开发。这将是您的工作流程:

$ git clone -b development <development repository>  <devdir>; cd <devdir>
$ git checkout -b new-branch
$ <edit, build test>
$ git add ...
$ git commit ...
# repeat above 3
#
# now you want to get your changes back on development
$ git pull origin development
$ <build, test - to ensure new-branch works w/ latest development>
$ git push origin new-branch:development

答案 2 :(得分:0)

git checkout master
git merge dev
git commit -m 'merged branches'