在尝试将开发分支与主服务器同步时遇到问题 现在我试图了解发生了什么。主要问题是我尝试了两件事 并且每个人都有不同的结果。
签到我的开发分支后,我使用了命令“ git merge origin / master”。 我遇到了一些git冲突,并已解决它们。 几分钟后,我尝试使用以下命令重新同步分支:
1. git checkout master
2. git pull
3. git checkout dev_branch
4. git pull
5. git merge master
使用这些命令后,我还遇到了其他git冲突(在不同文件上),但与以前的冲突有所不同。
为什么我会遇到不同的冲突?我不得不再次提到,我重新同步了分支 在很短的时间后,我很确定远程主服务器没有任何更新 同时。这两种方法之间有什么区别吗?如果是,那是什么?
答案 0 :(得分:1)
可能是您的本地origin/master
尚未更新。
git pull
的(预期)影响之一是更新origin/master
。
您可以通过查看本地dev_branch
的历史来确认这一点:
如果查看分支的历史记录(使用git-kraken或gitg或gitk或git log --graph --oneline
),则应该看到两个不同的合并:
* (dev_branch) Merge branch 'master' into dev_branch # <- merge2
|\
| * (master, origin/master) commit aaa # <- aaa
| |
...
|
* | Merge banch 'origin/master' into dev_branch # <- merge1
|\ /
| * commit bbb # <- bbb
| |
...
bbb
是第一次合并时本地origin/master
的状态,aaa
是git pull
之后的主状态(可能与origin/master
。
另一种可能性是您的本地master
分支与origin/master
不同。