Wie verlasse ich einen Git-Merge und frage nach einer Commit-Nachricht?

22

Ich benutze git. Ich habe eine normale Zusammenführung durchgeführt, aber es wird immer wieder gefragt:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

Und selbst wenn ich etwas schreibe, kann ich hier nicht raus. Ich kann keine Dokumente finden, die dies erklären. Wie soll ich es machen?

Luca Reghellin
quelle
2
drücke ESC: wq es ist eine vim Syntax;)
Dämonisierung

Antworten:

24

Dies hängt vom verwendeten Editor ab.

Bei kannst du ESCund :wqoder ESCund Shift+ verwenden zz. Beide Befehle speichern die Datei und beenden sie.

Sie können auch ~/.gitconfignach einem Editor suchen, in meinem Fall ( cat ~/.gitconfig):

[user]
    name = somename
    email = [email protected]
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here
Зелёный
quelle
0

Ich weiß, dass dies möglicherweise zu spät ist, aber ich habe bemerkt, dass es nur dann auftritt, wenn ich eine Übergabe an einen Zweig vornehme, der etwas aktueller ist als der Zweig, den ich zusammenführe.

Bild zum besseren Verständnis

Es stellt sich heraus, dass Git mich auffordert, einen MERGE_MSGZweig für diesen Zweig zu schreiben, wenn ich einen Zweig ändere (dh dem Zweig weitere Dateien hinzufüge) und versuche, einen anderen Zweig darin zusammenzuführen .

In diesem Bild wird gezeigt, dass ich eine LIZENZ-Datei masterund eine .gitignoreDatei im Zweig hinzugefügt habe npm-init.

Da Git mastereine neue Datei, LICENSE, enthält und npm-initnichts davon weiß, bat er mich, eine Nachricht zu schreiben, warum ich sie zusammenführen sollte.

In ähnlicher Weise habe ich add-eslintin zusammengeführt, add-dev bevor ich die Änderungen in zusammengeführt habe install-deps.


Ich weiß, dass dies schwer zu verstehen sein mag (auch für mich zuerst), aber ich hoffe, das Bild klärt die Dinge auf :)

Edwin Pratt
quelle