2016-04-11 8 views
0

Ich versuchte, meine lokale Änderung auf Remote und sehen Sie die folgenden Fehler zu drücken:warum Git-Pull-Blätter Anmerkung im Code zusammenführen und sich verpflichten, der Merge

Hinweis: Updates wurden abgelehnt, weil die Spitze der aktuellen Zweig ist hinter

Dann verwende ich git pull origin remote_branch_name. Der Zug ist ohne Probleme erledigt. Wenn ich jedoch die Änderungsdateien überprüfe, hinterlässt der Git eine Unmenge von Anmerkungen im Code und macht ihn unkompilierbar.

Zum Beispiel: git fügt die folgenden an den Code:

<<<<<<<<<HEAD 
void function(); 

========= 
>>>>>>>> 

Wenn ich git status -s überprüfen, zeigt es nichts und git hat die Änderung verpflichtet.

Frage> Weiß jemand, warum es so passiert?

Danke

== == die Pull-Ausgang Aktualisieren

$ git pull origin remote_branch_name 
Password for 'http://[email protected]': 

* branch   remote_branch_name -> FETCH_HEAD 
Merge made by the 'recursive' strategy. 
libs/file1.h  | 4 +++ 
libs/file2.cpp  | 7 +++++ 

    2 files changed, 153 insertions(+) 
$ git status -s 
+0

Sie sagen, dass der Zug ohne Probleme durchgeführt wurde. Sind Sie sicher, dass nicht gesagt wurde, dass ein Merge-Konflikt vorliegt? Es sieht so aus als wäre es. Versuchen Sie, 'git mergetool' – Tone

+0

@Tone auszuführen, überprüfen Sie bitte meinen Update-Post. Ja, ich habe keinen Konflikt gesehen. – q0987

+0

Sorry, ich weiß es nicht. Vielleicht hat jemand anderes eine Antwort. – Tone

Antwort

2

Die Ursache für dieses Problem aufgrund der falschen eingecheckte Datei ist, dass all diese unfertige merge Annotation hat.

Die Lösung besteht darin, zuerst diese falschen Dateien zu ziehen und diese Annotationen dann manuell zu korrigieren. Endlich drücken Sie die Änderung auf die Fernbedienung und es funktioniert.

Der Grund, warum ich Push nicht erzwingen kann, liegt daran, dass diese Funktion von Remote Branch deaktiviert wurde.

Vielen Dank

Verwandte Themen