我创建了远程分支名称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
答案 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