2010-10-28 17 views
6
  1. Ho creato un repository centrale condiviso su foo.org.
  2. utente A ha effettuato git clone ssh://foo.org/blah.git
  3. l'utente A ha creato il file "lol" che è un file vuoto. Lo impegna al repository locale. Fa git push
  4. utente B fa mkdir foo e cd foo
  5. utente B poi fa git clone ssh://foo.org/blah.git.
  6. l'utente B modifica il file lol.
  7. utente A modifica lol file.
  8. utente A si impegna e git push di repo centrale
  9. utente B impegna e git push ed è data:Come posso risolvere questo conflitto 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. utente b fa 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 fa vim lol e modifiche utente file a suo piacimento. poi cerca git commit dopo e è dato:

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

Che cosa devo fare a questo punto? Ho provato un fatal: You have not concluded your merge. (MERGE_HEAD exists)

git merge ma so per certo che sto facendo qualcosa di stupidamente sbagliato. Qualcuno può solo indicare di cosa si tratta?

+0

possibile duplicato di [Come risolvere i conflitti di unione in Git?] (Http://stackoverflow.com/questions/161813/how-do-i-fix-merge-conflicts-in-git) – bzlm

risposta

1

Nel passaggio 11, l'utente b ha fatto un 'git add' per aggiungere la loro unione manuale, prima di 'git commit'?

+0

'lol' esiste già da quando è stato clonato dal repository centrale. –

+5

questo dovrebbe essere un commento, non una risposta ... –

+0

hm, in realtà penso che tu abbia ragione. non ho fatto un esplicito 'git add lol' sulla fusione manuale. quindi git cambia il ramo o lo annulla? o non l'ho mai aggiunto in primo luogo? * confuso * –

Problemi correlati