在git中合并从Master到Remote分支的更改

时间:2012-08-13 14:08:41

标签: git merge

我创建了远程分支名称REMOTE1并进行了更改并更新了REMOTE1。同样地,我的同事也参与了MASTER并做了大量修改。

现在我必须将更改从remote / MASTER合并到remote / REMOTE1。

在这种情况下,任何人都可以帮助我完成最佳工作流程。我尝试了以下步骤

git checkout master

git pull

git checkout REMOTE1

git rebase master

这么多合并冲突我已经解决了......

当我尝试git status

# On branch REMOTE1
# Your branch and 'origin/REMOTE1' have diverged,
# and have 16 and 10 different commit(s) each, respectively.
#

我不确定这是什么意思???

然后我尝试推入我的远程分支REMOTE1,我得到以下错误

 ! [rejected]        HEAD -> REMOTE1 (non-fast-forward)
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

在任何rebase操作之前

--- A - B - C - D   MASTER
         \
         P - Q - R  REMOTE1

完成上述步骤后

              MASTER     LOCAL REMOTE1
                |           |
--- A - B - C - D - P - Q - R    
        \
         P - Q - R   REMOTE1

1 个答案:

答案 0 :(得分:1)

看起来您正在尝试使用与原点/ REMOTE1不同的更改来推送REMOTE1。在此之前,尝试拉REMOTE1。首先,看一下:

git checkout REMOTE1

现在,在REMOTE1上,从origin

中提取更改
git pull origin REMOTE1

现在您已将本地REMOTE1与origin / REMOTE1同步。您可以从master和push中重新定义更改:

git checkout master
git rebase REMOTE1
git checkout REMOTE1
git push origin REMOTE1