我已经创建了远程分支名称remote1并进行了更改和更新remote1。同样,我的同事们也在master上做了大量的修改。
现在我必须合并从remote/master到remote/remote1的更改。
在这种情况下,有谁能帮我找到最好的工作流程。我试过以下步骤
git checkout master
git pull
git checkout REMOTE1
git rebase master
这么多合并冲突,我已经解决了…
当我尝试git状态时
# 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.
任何再平衡操作前
--- A - B - C - D MASTER
\
P - Q - R REMOTE1
完成上述步骤后
MASTER LOCAL REMOTE1
| |
--- A - B - C - D - P - Q - R
\
P - Q - R REMOTE1
最佳答案
看起来您正在尝试使用与origin/remote1上的更改不同的更改来推送remote1。在执行此操作之前,请尝试拔出遥控器1。首先,看看:
git checkout REMOTE1
现在,在remote1上,从
origin
中提取更改:git pull origin REMOTE1
现在本地remote1已与origin/remote1同步。您可以将更改从master更改为rebase并按下:
git checkout master
git rebase REMOTE1
git checkout REMOTE1
git push origin REMOTE1