“ git merge origin / master”和“ git merge master”之间有什么区别

时间:2019-06-11 11:43:28

标签: git

在尝试将开发分支与主服务器同步时遇到问题 现在我试图了解发生了什么。主要问题是我尝试了两件事 并且每个人都有不同的结果。

签到我的开发分支后,我使用了命令“ 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冲突(在不同文件上),但与以前的冲突有所不同。

为什么我会遇到不同的冲突?我不得不再次提到,我重新同步了分支 在很短的时间后,我很确定远程主服务器没有任何更新 同时。这两种方法之间有什么区别吗?如果是,那是什么?

1 个答案:

答案 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的状态,aaagit pull之后的主状态(可能与origin/master

另一种可能性是您的本地master分支与origin/master不同。