2017-04-08 64 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)