it-swarm.com.de

Sie haben Ihre Zusammenführung nicht abgeschlossen (MERGE_HEAD existiert)

Ich machte einen Zweig namens 'f' und machte eine Prüfung zum Master. Als ich den Befehl git pull ausprobierte, erhielt ich folgende Nachricht:

You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.

Wenn ich git status ausprobiere, erhielt ich Folgendes:

On branch master
# Your branch and 'Origin/master' have diverged,
# and have 1 and 13 different commit(s) each, respectively.
#
# Changes to be committed:
#
#   modified:   app/assets/images/backward.png
#   modified:   app/assets/images/forward.png
#   new file:   app/assets/images/index_background.jpg
#   new file:   app/assets/images/loading.gif
#   modified:   app/assets/images/pause.png
#   modified:   app/assets/images/play.png
#   new file:   app/assets/javascripts/jquery-ui-bootstrap.js
#   new file:   app/assets/stylesheets/jquery-ui-bootstrap.css
#   modified:   app/controllers/friends_controller.rb
#   modified:   app/controllers/plays_controller.rb
#   modified:   app/mailers/invite_friends_mailer.rb
#   modified:   app/mailers/send_plays_mailer.rb
#   modified:   app/mailers/shot_chart_mailer.rb
#   modified:   app/views/friends/show_plays.html.erb
#   modified:   app/views/layouts/application.html.erb
#   modified:   app/views/plays/_inbox_table.html.erb
#   modified:   app/views/plays/show.html.erb
#   modified:   app/views/welcome/contact_form.html.erb
#   modified:   app/views/welcome/index.html.erb
#   modified:   log/development.log
#   modified:   log/restclient.log
#   new file:   tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
#   modified:   tmp/cache/assets/C64/930/sprockets%2F65aa1510292214f4fd1342280d521e4c
#   new file:   tmp/cache/assets/C73/C40/sprockets%2F96912377b93498914dd04bc69fa98585
#   new file:   tmp/cache/assets/CA9/090/sprockets%2Fa71992733a432421e67e03ff1bd441d8
#   new file:   tmp/cache/assets/CCD/7E0/sprockets%2F47125c2ebd0e8b29b6511b7b961152a1
#   modified:   tmp/cache/assets/CD5/DD0/sprockets%2F59d317902de6e0f68689899259caff26
#   modified:   tmp/cache/assets/CE3/080/sprockets%2F5c3b516e854760f14eda2395c4ff2581
#   new file:   tmp/cache/assets/CED/B20/sprockets%2F423772fde44ab6f6f861639ee71444c4
#   new file:   tmp/cache/assets/D0C/E10/sprockets%2F8d1f4b30c6be13017565fe1b697156ce
#   new file:   tmp/cache/assets/D12/290/sprockets%2F93ae21f3cdd5e24444ae4651913fd875
#   new file:   tmp/cache/assets/D13/FC0/sprockets%2F57aad34b9d3c9e225205237dac9b1999
#   new file:   tmp/cache/assets/D1D/DE0/sprockets%2F5840ff4283f6545f472be8e10ce67bb8
#   new file:   tmp/cache/assets/D23/BD0/sprockets%2F439d5dedcc8c54560881edb9f0456819
#   new file:   tmp/cache/assets/D24/570/sprockets%2Fb449db428fc674796e18b7a419924afe
#   new file:   tmp/cache/assets/D28/480/sprockets%2F9aeec798a04544e478806ffe57e66a51
#   new file:   tmp/cache/assets/D3A/ED0/sprockets%2Fcd959cbf710b366c145747eb3c062bb4
#   new file:   tmp/cache/assets/D3C/060/sprockets%2F363ac7c9208d3bb5d7047f11c159d7ce
#   new file:   tmp/cache/assets/D48/D00/sprockets%2Fe23c97b8996e7b5567a3080c285aaccb
#   new file:   tmp/cache/assets/D6A/900/sprockets%2Fa5cece9476b21aa4d5f46911ca96c450
#   new file:   tmp/cache/assets/D6C/510/sprockets%2Fb086a020de3c258cb1c67dfc9c67d546
#   new file:   tmp/cache/assets/D70/F30/sprockets%2Facf9a6348722adf1ee7abbb695603078
#   new file:   tmp/cache/assets/DA3/4A0/sprockets%2F69c26d0a9ca8ce383e20897cefe05aa4
#   new file:   tmp/cache/assets/DA7/2F0/sprockets%2F61da396fb86c5ecd844a2d83ac759b4b
#   new file:   tmp/cache/assets/DB9/C80/sprockets%2F876fbfb9685b2b8ea476fa3c67ae498b
#   new file:   tmp/cache/assets/DBD/7A0/sprockets%2F3640ea84a1dfaf6f91a01d1d6fbe223d
#   new file:   tmp/cache/assets/DC1/8D0/sprockets%2Fe5ee1f1cfba2144ec00b1dcd6773e691
#   new file:   tmp/cache/assets/DCC/E60/sprockets%2Fd6a95f601456c93ff9a1bb70dea3dfc0
#   new file:   tmp/cache/assets/DF1/130/sprockets%2Fcda4825bb42c91e2d1f1ea7b2b958bda
#   new file:   tmp/cache/assets/E23/DE0/sprockets%2Fb1acc25c28cd1fabafbec99d169163d3
#   new file:   tmp/cache/assets/E23/FD0/sprockets%2Fea3dbcd1f341008ef8be67b1ccc5a9c5
#   modified:   tmp/cache/assets/E4E/AD0/sprockets%2Fb930f45cfe7c6a8d0efcada3013cc4bc
#   new file:   tmp/cache/assets/E63/7D0/sprockets%2F77de495a665c3ebcb47befecd07baae6
#   modified:   tmp/pids/server.pid
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Coachbase/
#   log/development.log.orig
#   log/restclient.log.orig

Was soll ich machen?

769
Ankit Suri

OK. Das Problem ist, dass Ihr vorheriger Pull nicht automatisch zusammengeführt wurde und in den Konfliktzustand ging. Und der Konflikt wurde vor dem nächsten Zug nicht richtig gelöst. 

  1. Machen Sie die Zusammenführung rückgängig und ziehen Sie erneut.

    So machen Sie eine Zusammenführung rückgängig:

    git merge --abort [Seit git version 1.7.4] 

    git reset --merge [frühere Git-Versionen]

  2. Lösen Sie den Konflikt.

  3. Vergiss nicht, die Zusammenführung hinzuzufügen und zu bestätigen.

  4. git pull sollte jetzt einwandfrei funktionieren.

1436
Karthik Bose

Wenn Sie sicher sind, dass Sie bereits alle Zusammenführungskonflikte gelöst haben:

rm -rf .git/MERGE*

Und der Fehler wird verschwinden.

71
knagode

Ich denke, es ist erwähnenswert, dass es zahlreiche Szenarien gibt, in denen die Nachricht You have not concluded your merge (MERGE_HEAD exists) vorkommen kann, da wahrscheinlich viele Menschen auf dieser Seite angekommen sind, nachdem sie nach dieser Nachricht gesucht haben. Die Auflösung hängt davon ab, wie Sie dorthin gekommen sind.

git status ist immer ein nützlicher Ausgangspunkt.

Wenn Sie den Inhalt bereits zu Ihrer Zufriedenheit zusammengeführt haben und immer noch diese Nachricht erhalten, kann dies ebenso einfach sein

git add file
git commit

Aber es hängt auch wirklich von der Situation ab. Es ist eine gute Idee, die Grundlagen zu verstehen, bevor Sie etwas versuchen (der gleiche Link, auf den Terence geschrieben hat): Git - Basic Merge Conflicts

51
fantabolous

Ich habe Konflikte gelöst und auch begangen, bekomme aber immer noch diese Fehlermeldung auf git Push.

Alle Konflikte behoben, aber Sie werden immer noch zusammengeführt.
(Verwenden Sie "git commit", um die Zusammenführung abzuschließen.)

Ich habe diese Schritte ausgeführt, um den Fehler zu beheben:

rm -rf .git/MERGE*
git pull Origin branch_name 
git Push Origin branch_name
4

Versuchen Sie, eine temporäre Datei zu ändern. Entfernen Sie beispielsweise Leerzeichen oder fügen Sie Leerzeichen hinzu, und geben Sie die Datei dann fest.

git add 'temporäre_änderungsdatei'

git commit -m "git Problem lösen"

git Push Origin entwickeln

Und dann versuch git pull,

git pull Origin entwickeln

Hoffe, das könnte dir helfen.

3
Kazim Noorani

Versuchen

git reset --hard Origin/trunk

'trunk' ist der Zweig, zu dem ich zu gelangen versuche.

Ich weiß nicht, wie oder warum das funktioniert. Es hatte etwas mit einem Commit zu tun, das ich gemacht hatte und das meine Pull-Requests dazu zwang, eine Zusammenführung durchzuführen.

1
Franklin

In meinem Fall hatte ich eine Kirschpickel, die eine Reihe von Merge-Konflikten hervorbrachte. Daher entscheide ich mich, die Kirschpickel nicht abzuschließen. Ich habe alle meine Änderungen verworfen. Dies versetzt mich in einen Zustand, in dem ich den folgenden Fehler erhalten habe:

Sie haben Ihre Zusammenführung nicht abgeschlossen (MERGE_HEAD existiert)

Um das Problem zu beheben, habe ich den folgenden git-Befehl ausgeführt, mit dem das Problem behoben wurde. 

git cherry-pick --abort
1

verwenden Sie zunächst git pull, um das Repository zusammenzuführen, und speichern Sie Ihre Änderung. Geben Sie dann git commit -m "your commit" erneut ein.

0
Jack loner

Am besten ist es, die Zusammenführung rückgängig zu machen und die Zusammenführung erneut durchzuführen. Oft bekommt man die Reihenfolge der Dinge durcheinander. Versuchen und beheben Sie die Konflikte und versetzen Sie sich in ein Chaos.

Machen Sie es also rückgängig und mischen Sie es erneut.

Stellen Sie sicher, dass Sie über die für Ihre Umgebung geeigneten Diff-Tools verfügen. Ich bin auf einem Mac und benutze DIFFMERGE. Ich denke, dass DIFFMERGE für alle Umgebungen verfügbar ist. Anweisungen sind hier: DIFF Merge auf einem MAC installieren

Ich habe diese hilfreiche Lösung meiner Konflikte: Git Basic-Merge-Conflicts

0
Terence

Ich denke, das ist der richtige Weg, ist der folgende:

git merge --abort

git fetch --all

Dann haben Sie zwei Möglichkeiten:

git reset --hard Origin/master

ODER Wenn Sie sich in einem anderen Zweig befinden:

git reset --hard Origin/<branch_name>
0
Badr Bellaj

Blockquote

Wenn Sie versuchen, von einem anderen Zweig in Ihren Zweig zu wechseln. Wenn Sie diesen Fehler sehen 

Zuerst sollten Sie versuchen, git commit auszuführen und dann einen anderen Zweig in Ihren zu ziehen.

  1. "git hinzufügen."
  2. git begehen 
  3. Dann git ziehen Sie aus dem gewünschten Zweig.
0
Rohith