J'ai eu environ 12 conflits de fichiers lorsque j'ai fusionné des branches. J'ai corrigé manuellement tous les conflits et mis en scène les fichiers. Mais maintenant, lorsque j'essaie de valider, il indique que l'un des fichiers n'est pas fusionné.
U app/models/disclosure_event.rb
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
Quand je tape git status
, il affiche tous les fichiers modifiés, y compris "divulgation_event.rb", sous Changes to be committed
. Il ne montre aucun fichier comme non organisé. J'ai essayé à plusieurs reprises d'ajouter le fichier, mais il ne semble rien faire. Si j'ouvre le fichier, tout va bien.
Des idées? Je suis complètement coincé.
Je ne peux pas te dire ce qui ne va pas, mais tu pourrais essayer
git reset app/models/disclosure_even.rb
git add app/models/disclosure_even.rb
puis validez.
J'ai eu exactement la même situation aujourd'hui sur les succursales fusionnant (pas rebasant).
Je repère, sur ce fichier, des erreurs, dans votre cas:
U app/models/disclosure_event.rb
était absent dans le statut git. Mais il pourrait être considéré comme non fusionné dans l'interface graphique de gitk. Il était également absent dans la copie de travail (déplacé vers un autre endroit dans mon cas).
J'ai essayé git rm
, et cela a résolu le problème:
git rm app/models/disclosure_event.rb
Définissez la télécommande sur Origin
et la branche sur master
, et dites que vous avez déjà extrait master
, essayez les solutions suivantes:
git fetch Origin git reset --hard Origin/master
Il définira la branche actuelle et la pointera sur HEAD de la branche distante.
J'ai rencontré une telle situation auparavant avec rebase. Git détermine que vous laissez certains fichiers tels qu'ils étaient avant la fusion et pense que vous ne les avez toujours pas fusionnés. Cette fois, j'ai fait une recherche sur Google et j'ai découvert de nombreuses suggestions à faire git rebase --skip
. Ça a marché pour moi.
Description plus détaillée d'un tel cas: http://git.661346.n2.nabble.com/BUG-git-rebase-is-confuse-if-conflict-resolution-doesn-t-produce-diff-td726597 .html
Problème similaire: Git rebase: les conflits bloquent la progression
Je ne suis pas sûr que ce soit votre cas si vous avez une fusion, cependant.
J'ai essayé les 2 suggestions sans aucune chance. Et je ne pouvais pas le réinitialiser à HEAD, alors j'ai juste re-cloné le référentiel et fait la fusion complète et je n'ai eu aucun problème. Pour ce que ça vaut, je recommande maintenant fortement p4merge sur vimdiff ...