2010-10-28 65 views
6
  1. 我在foo.org做了一箇中央裸分享回購。
  2. 用戶A已完成git clone ssh://foo.org/blah.git
  3. 用戶A創建了文件'lol',它是一個空白文件。提交給本地回購。是否git push
  4. 用戶B確實mkdir foocd foo
  5. 用戶B,然後做git clone ssh://foo.org/blah.git
  6. 用戶B編輯lol文件。
  7. 用戶A編輯lol文件。
  8. 用戶A提交和git push到中央回購
  9. 用戶B提交和git push和給出:我該如何解決這個git衝突?

    error: failed to push some refs to 'ssh://foo.org/blah.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'non-fast forward'

  10. 用戶B則git pull

    From ssh://foo.org/home/meder/central/foo 08a0cda..fba6968 master -> origin/master Auto-merging lol CONFLICT (content): Merge conflict in lol Automatic merge failed; fix conflicts and then commit the result.

  11. 用戶B則vim lol和編輯文件,他喜歡。然後嘗試git commit之後得到的卻是:

    lol: needs merge lol: unmerged (039727ec5a50d0ed45ff67e6f4c9b953bd23c17d) lol: unmerged (9307e337aa159ed6574eb84532f107685e46a16c) lol: unmerged (f88ad411f67850938dc369426cdbba76812e9126) error: Error building trees

我有什麼在這一點上做的?我試過git merge,但它說fatal: You have not concluded your merge. (MERGE_HEAD exists)

我知道我確實在做一些愚蠢的錯誤。有人能指出它是什麼嗎?

+0

可能重複的[如何解決Git中的合併衝突?](http://stackoverflow.com/questions/161813/how-doi-i-fix-merge-conflicts-in-git) – bzlm 2010-10-28 19:08:46

回答

1

在步驟11中,讓用戶b在'git commit'之前完成'git add'來添加他們的手部合併嗎?

+0

'lol'自從它從中央回購中克隆以來就已存在。 – 2010-10-28 19:08:05

+5

這應該是一個評論,而不是一個答案...... – 2010-10-28 19:08:06

+0

嗯,我其實認爲你是對的。我沒有在手工合併上做一個明確的'git add lol'。 git也會更改分支或取消添加它?或者我從來沒有添加它在第一個地方? * confused * – 2010-10-28 19:11:28