2

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

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

我在新分支中编写代码并在新分支中提交/推送代码。

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

谢谢

4

3 回答 3

1

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

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

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

于 2012-04-10T19:36:31.720 回答
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
于 2012-04-10T21:37:35.290 回答
0
git checkout master
git merge dev
git commit -m 'merged branches'
于 2016-11-16T04:49:00.363 回答