2010-10-28 7 views
6
  1. J'ai fait un dépôt principal nu partagé sur foo.org.
  2. l'utilisateur A a fait git clone ssh://foo.org/blah.git
  3. L'utilisateur A a créé le fichier 'lol' qui est un fichier vide. Le commet au repo local. Est-ce que git push
  4. utilisateur B ne mkdir foo et cd foo
  5. utilisateur B fait alors git clone ssh://foo.org/blah.git. L'utilisateur B édite lol fichier. L'utilisateur A édite le fichier lol.
  6. utilisateur A engage et git push à repo central
  7. utilisateur B engage et git push et est donné:Comment puis-je résoudre ce conflit 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'

  8. utilisateur B ne 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.

  9. utilisateur B ne vim lol et modifications classer à son goût. essaie ensuite git commit après et est donné:

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

Que dois-je faire à ce stade? J'ai essayé un git merge mais il dit fatal: You have not concluded your merge. (MERGE_HEAD exists)

Je sais avec certitude que je fais quelque chose de bêtement faux. Quelqu'un peut-il simplement préciser ce que c'est?

+0

duplication possible de [Comment résoudre les conflits de fusion dans Git?] (Http://stackoverflow.com/questions/161813/how-do-i-fix-merge-conflicts-in-git) – bzlm

Répondre

1

A l'étape 11, l'utilisateur b a-t-il fait un 'git add' pour ajouter sa main-fusion, avant 'git commit'?

+0

'lol' existe déjà depuis qu'il a été cloné du dépôt central. –

+5

cela devrait être un commentaire, pas une réponse ... –

+0

hm, je pense réellement que vous avez raison. Je n'ai pas fait un 'git add lol 'explicite sur la fusion manuelle. git change-t-il la branche ou la supprime-t-elle? ou est-ce que je ne l'ai jamais ajouté en premier lieu? * confus * –

Questions connexes