602 Stimmen

Wie kann man eine Änderung mit sowohl "Nachricht" als auch "Beschreibung" von der Befehlszeile aus bestätigen?

Ich kann Commits über git an GitHub senden (auf der Befehlszeile, nicht über die Mac-App).

Wenn ich Commits direkt über die GitHub-Weboberfläche sende (zum Beispiel um schnell einen Tippfehler zu korrigieren), habe ich die Möglichkeit, den Commit zu "kommentieren" und GitHub gibt mir einen Commit-Titel und eine Commit-Beschreibung. Das finde ich sehr nützlich.

Trotzdem, wenn ich git push vom lokalen Rechner ausführe, öffnet git meinen Standard-Editor: dort schreibe ich den Commit-Kommentar und dann unterteilt GitHub diesen automatisch in Titel und "Body". Gibt es eine Möglichkeit, auch von der Befehlszeile aus Kommentare zu Commits schön zu gestalten?

1168voto

zzlalani Punkte 21250

Es gibt auch einen weiteren direkten und klareren Weg

git commit -m "Titel" -m "Beschreibung ..........";

579voto

Mikhail Punkte 9809

Verwenden Sie den Befehl git commit ohne Flags. Der konfigurierte Editor wird geöffnet (in diesem Fall Vim):

Beschreibung des Bildes hier eingeben

Um mit dem Tippen zu beginnen, drücken Sie die Taste INSERT auf Ihrer Tastatur, dann erstellen Sie im Einfügemodus einen besseren Commit mit der gewünschten Beschreibung. Zum Beispiel:

Beschreibung des Bildes hier eingeben

Nachdem Sie alles geschrieben haben, was Sie benötigen, um zu git zurückzukehren, sollten Sie zunächst den Einfügemodus verlassen, indem Sie ESC drücken. Schließen Sie nun den Vim-Editor mit Speichern der Änderungen, indem Sie auf der Tastatur :wq eingeben (w - schreiben, q - beenden):

Beschreibung des Bildes hier eingeben

und drücken Sie ENTER.

Auf GitHub wird dieser Commit folgendermaßen aussehen:

Beschreibung des Bildes hier eingeben

Als Commit-Editor können Sie VS Code verwenden:

git config --global core.editor "code --wait"

Vom VS Code-Dokumentationswebsite: VS Code als Git-Editor

Gif-Demo: Beschreibung des Bildes hier eingeben

80voto

Yuval Adam Punkte 155168

Wird alle Änderungen schnell mit der Commit-Nachricht übernehmen. Git commit "Titel" und "Beschreibung" (wie Sie sie nennen) sind nichts weiter als nur die erste Zeile und der Rest der Zeilen in der Commit-Nachricht, normalerweise durch eine Leerzeile getrennt, durch Konvention. Verwenden Sie also diesen Befehl, um nur den "Titel" und keine Beschreibung zu übernehmen.

Wenn Sie eine längere Nachricht übernehmen möchten, können Sie das tun, abhängig davon, welchen Shell Sie verwenden.

Im Bash wäre der schnelle Weg:

git commit -a -m $'Commit-Titel\n\nRest der Commit-Nachricht…'

3voto

tashuhka Punkte 4768

Falls Sie die Commit-Nachricht mit Header und Body verbessern möchten, nachdem Sie den Commit erstellt haben, können Sie ihn umformulieren. Dieser Ansatz ist nützlicher, da Sie nur wissen, was der Code tut, nachdem Sie ihn geschrieben haben.

git rebase -i origin/master

Dann werden Ihre Commits angezeigt:

pick e152ce2 Framework aktualisieren
pick ffcf91e Etwas Magie
pick fa672e1 Kommentare aktualisieren

Wählen Sie den Commit aus, den Sie umformulieren möchten, und speichern Sie.

pick e152ce2 Framework aktualisieren
reword ffcf91e Etwas Magie
pick fa672e1 Kommentare aktualisieren

Jetzt haben Sie die Möglichkeit, Header und Body hinzuzufügen, wobei die erste Zeile der Header sein wird.

Perpetuum mobile erstellen

Physikgesetze mit einer Prise Vorstellungskraft neu gestalten. Ein Wurmloch in 23 Dimensionen öffnen. Schutzmaßnahmen hinzufügen, um hohe Instabilität zu vermeiden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X