【问题标题】:git: merge two branches: what are the correct steps?git:合并两个分支:正确的步骤是什么?
【发布时间】:2012-04-23 02:55:24
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: git github


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      $ 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
      

      【讨论】:

        【解决方案3】:
        git checkout master
        git merge dev
        git commit -m 'merged branches'
        

        【讨论】:

          猜你喜欢
          • 2011-01-22
          • 1970-01-01
          • 2021-01-18
          • 1970-01-01
          • 2014-09-23
          • 2013-05-23
          • 2019-04-15
          • 2013-04-11
          • 1970-01-01
          相关资源
          最近更新 更多