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?


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 = somemail@gmail.com
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here

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 :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.