2017-04-08 95 views
2

这是发生了什么:混帐合并冲突修改 - “你的分支和‘产地/主’分道扬镳”

  1. 后最近提交给远程主,我做一个小小事改变我的地方回购
  2. 我添加git commit --amend并使该相同的提交信息的HEAD
  3. 我试图推动回购与git push

掌握和现在我得到

On branch master 
Your branch and 'origin/master' have diverged, 
and have 1 and 1 different commit each, respectively. 
    (use "git pull" to merge the remote branch into yours) 
nothing to commit, working directory clean 

我想明白了:

  1. 为什么这到底会发生?
  2. 我能做些什么来防止这种情况?
  3. git修改后如何协调master和local?

回答

5

你改变了一个现有的推提交,创建自己的版本(因为它的内容已经改变)

--x---Y (master: that is the X amended) 
    \ 
    --X (origin/master) 

这就是为什么你有1和1个不同的提交主机和产地/主之间的每个

我能做些什么来防止这种情况?

不要“修订”的推动现有承诺(仅限本地还未推向一个)

如何调和主与当地一个git修改后?

只需变基上原点/主的顶部,然后推

git rebase origin/master 

--x--X---Y' (master) 
     | 
(origin/master) 

git push 

--x--X---Y' (master, origin/master)