Wenn Sie ein DevOps-Ingenieur sind oder an einem Git-Repository arbeiten, dann "Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung notwendig ist " ist der häufigste Fehler, den Sie während der Arbeit erhalten. In diesem Beitrag werde ich erklären, warum dieser Fehler auftritt, wie Sie diesen Fehler beheben und Vorschläge dazu machen.
Warum hat mich git gefragt "Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung notwendig ist"?
Es gibt einige spezifische Gründe, warum git pull fordert uns auf, eine Zusammenführungsnachricht zu schreiben. Beginnen möchte ich mit einem Zitat von Linus Torvalds -

Unten sind die Gründe aufgeführt , was zu einer Git-Commit-Nachricht führen kann Warnung -
- Wenn Sie Änderungen von Git auf Ihre lokale Entwicklung ziehen
- Du hast kürzlich deinen Git-Client aktualisiert
- Ihre Git-Konfiguration wurde kürzlich geändert
- Du hattest noch nie einen lokalen Zweig, der dem entfernten voraus war
Wie man die Warnung „Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung notwendig ist“ zu beheben.
Befolgen Sie eine dieser beiden Lösungen, je nachdem, was Sie erreichen möchten?
Lösung-1 Wenn Sie zusammenführen möchten, passieren Sie und verlassen Sie dann Ihren Standardeditor
Falls Sie die Meldung „Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung erforderlich ist“ erhalten und Sie zusammenführen möchten, befolgen Sie die unten aufgeführten Lösungen basierend auf Ihrem Editor, um das Problem zu beheben.

Für Benutzer des vi- oder vim-Editors unter Linux -
Der Standardeditor ist vi oder vim unter Linux, wenn Sie es nicht geändert haben git config Befehl. Befolgen Sie diese einfachen Schritte, um basierend auf Ihrem Editor zusammenzuführen -
- Drücken Sie "i " Geben Sie auf Ihrer Tastatur Ihre "Merge " Kommentare oder Nachricht
- Drücken Sie "Esc " auf Ihrer Tastatur
- Speichern und beenden Sie durch Eingabe von :wq aus Ihrem Vi- oder Vim-Editor
Alternativ
wenn Sie keine Zusammenführungsnachricht senden möchten , dann können Sie einfach "Esc drücken " auf Ihrer Tastatur und dann Umschalt + ZZ um den Editor schnell zu speichern und zu verlassen.
Für nano- oder Pico-Benutzer in macOS -
Wenn Sie nano verwenden oder pico -Editor in macOS oder vielleicht in WSL (Windows Subsystem for Linux) Führen Sie dann den folgenden Befehl aus -
- Drücken Sie STRG + X
- Dann STRG + C
- Drücken Sie "Y" um Ihre Datei zu speichern.
Wenn Sie den Standard-Git-Editor ändern möchten z.B. von vi/vim zu nano Führen Sie die aus folgenden Befehl -
git config --global core.editor "nano"
Lösung-2 Wenn Sie nicht zusammenführen möchten und ohne Zusammenführung beenden möchten .
Wenn Sie also den folgenden Git-Merge-Fehler erhalten immer wieder -
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
und Sie nicht zusammenführen möchten und sauber kommen wollen, dann ist der Vorgang etwas kniffelig. Folgen Sie einfach den angegebenen Schritten -
Für Benutzer des vi/vim- oder Nano-Editors
- Halten Sie zuerst den vi/vim- oder nano-Editor an, indem Sie Strg drücken + z auf Ihrer Tastatur
- Notieren Sie sich die PID (Prozess-ID) oder Prozessname . z.B. nano oder vi.
- Brechen Sie die Zusammenführung mit einem git merge --abort ab Befehl
- Beenden Sie den Hintergrundprozess mit pkill -9 "Prozessname ". Zum Beispiel
pkill -9 nano
oderpkill -9 vi
. Sie erhalten eine Meldung, dass der Prozess erfolgreich beendet wurde.
Bitte notieren Sie sich, auch wenn Sie ESC und dann :q drücken oder :q! um vi oder vim zu beenden Editor ohne Speichern. Dennoch führt es zur Verschmelzung . Gleiches gilt für andere Editoren wie nano . Wenn Sie Strg + x drücken zum Beenden, immer noch Zweig wird zusammengeführt . Stellen Sie also sicher, dass Sie immer aussetzen und abbrechen den Prozess, um Zusammenführungen zu vermeiden wie in den obigen Schritten erklärt.
Vorschlag – Git-Merge vs. Rebase um einen sauberen Verlauf in Git zu führen
Ich habe Ihnen die Lösung mitgeteilt, wie Sie den Fehler „Bitte geben Sie eine Commit-Nachricht ein, um zu erklären, warum diese Zusammenführung erforderlich ist“ loszuwerden. Aber wahrscheinlich muss ich Ihnen das sagen, wenn Sie Git Merge verwenden können und wann man rebase while git pull verwendet .
Befolgen Sie diese goldenen Regeln bei der Arbeit mit Git -
Regel 1 – Rebasieren Sie immer, wenn Sie Änderungen vom Ursprung/der Entwicklung auf Ihre lokale Entwicklung ziehen
Verwenden Sie immer die Rebase-Option, während Sie Änderungen vom Ursprung abrufen, anstatt nur den git pull auszuführen Befehl allein.
git pull --rebase
Wieso den? Denn wenn Sie vom Ursprung ziehen und keine Änderungen an Ihrer lokalen Entwicklung vorgenommen haben, dann git pull und git pull --rebase sind gleich.
Aber wenn Sie ein paar Änderungen vorgenommen haben zu Ihrer lokalen Entwicklung, die noch nicht gepusht wurden. Außerdem möchten Sie ziehen alle Änderungen, die Sie von Ihrem Ursprung vermissen zu Ihrer lokalen Entwicklung, bevor Sie pushen können. Ein normaler Git-Pull ohne rebase Option kann zu Merge führen Probleme.
Regel 2 - Zusammenführen, wenn ein Feature-Branch-Merge-Wechsel zurück zum Entwickeln abgeschlossen ist
Verwenden Sie den folgenden Befehl, wenn Sie Änderungen vorgenommen haben und die Änderungen wieder mit der Entwicklung zusammenführen möchten
git merge