【问题标题】:How can I merge remote branch to local branch?如何将远程分支合并到本地分支?
【发布时间】:2018-12-20 03:21:54
【问题描述】:

我们的项目有一个开发分支。我基于develop分支创建了一个bug-fix分支,修改了一个文件a.java。我知道其他人在我修复错误时更改了 a.java 并合并到开发分支。

现在我已经修复了这个错误,我想合并我的代码来开发分支,但在我这样做之前,我想将更改(因为其他人也更改了 a.java)拉到我的本地分支进行测试如果它有效,我是对的吗? 我该怎么做?

首先,我通过 'git pull' 提取了所有代码,并且我在我的错误修复分支中。 然后运行'git merge develop',它输出为空。然后我'git merge origin/develop'。它输出以下错误。

Updating 46f689b..3011608
error: Your local changes to the following files would be overwritten by merge:
        projectA/a.java
Please commit your changes or stash them before you merge.
Aborting

如何将开发分支合并到我的工作目录?谢谢。

【问题讨论】:

  • 只需按照错误消息中的建议进行提交,或者隐藏您的工作。

标签: git github merge


【解决方案1】:

通常在这种情况下,这是我喜欢做的事情,

git stash # Stash your local changes
git pull  # Update code
git stash apply # Merge your local changes

现在,为了澄清起见,如果您需要同步另一个分支,您可以在 git pull 之前切换分支。从那里您可以回到您的错误修复分支并运行git stash apply,然后与您的develop 分支合并。

【讨论】:

    【解决方案2】:

    因为您对该文件进行了一些更改

    Please commit your changes or stash them before you merge.
    

    只要按照这个:

    # save current work state
    git stash
    # merge from develop
    git merge origin/develop
    # recover current work state (get the last item of stash)
    git stash pop
    

    【讨论】:

      【解决方案3】:

      由于您尚未将本地提交推送到错误分支,因此您需要在更新的(由其他开发人员)origin/bug 分支之上rebase它们。

      为此,请确保您拥有set first the configuration:

      git --global config pull.rebase true
      git --global config rebase.autoStash true
      

      (只能从任何文件夹执行一次)

      然后,当您在当前分支中时,您可以简单地包含其他人的贡献:

      git pull.
      

      现在,确保所有内容都已提交,并且:

      git checkout develop
      git pull
      

      最后,合并开发

      git checkout bug
      git merge develop
      

      【讨论】:

        【解决方案4】:

        在合并其他更改之前,您需要提交或存储对 projectA/a.java 的更改。

        提交示例:

        $ git add projectA/a.java
        $ git commit -m "my change message"
        $ git pull origin/develop
        

        存储示例:

        $ git stash
        $ git pull origin/develop
        $ git stash apply
        

        【讨论】:

        • 他是问怎么合并,而不是怎么拉
        猜你喜欢
        • 1970-01-01
        • 2011-11-04
        • 2012-01-02
        • 1970-01-01
        • 2014-06-13
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多