it-swarm.com.de

Wie wird eine Änderung mit "message" und "description" über die Befehlszeile festgeschrieben?

Ich bin neu in git und GitHub. Ich habe es geschafft, alles lokal auf meinem Mac einzurichten, so dass ich jetzt Push-Commits über git an GitHub senden kann (in der Befehlszeile, nicht über die Mac-App).

Wenn ich einen Push-Commit direkt von der GitHub-Weboberfläche aus durchführe (z. B. um einen Tippfehler schnell zu beheben), habe ich die Möglichkeit, den Commit zu "kommentieren", und GitHub gibt mir einen Commit title und einen Commit Beschreibung. Ich finde das sehr nützlich.

Wenn ich git Push vom lokalen Computer aus git öffne, öffne ich dennoch meinen Standardeditor: Ich schreibe den Commit-Kommentar, und GitHub unterteilt ihn automatisch in Titel und "body". Gibt es auch eine Möglichkeit, hübsche Kommentar-Commits vom Terminal aus zu erstellen?

319
whatyouhide

Es gibt auch einen anderen geraden und klareren Weg

git commit -m "Title" -m "Description ..........";
643
zzlalani

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

enter image description here

Um mit der Eingabe zu beginnen, drücken Sie die Taste INSERT Drücken Sie die Taste auf Ihrer Tastatur und erstellen Sie dann im Einfügemodus ein besseres Commit mit der gewünschten Beschreibung. Zum Beispiel:

enter image description here

Nachdem Sie alles geschrieben haben, was Sie brauchen, um zum Git zurückzukehren, sollten Sie zuerst den Einfügemodus für diese Presse verlassen ESC. Schließen Sie nun den Vim-Editor mit Speichern der Änderungen, indem Sie auf der Tastatur :wq eingeben (w-write, q-quit):

enter image description here

und drücke ENTER.

Auf GitHub sieht dieses Commit folgendermaßen aus:

enter image description here

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

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

Von der VS Code docs-Website: VS Code als Git-Editor

Gif-Demonstration: enter image description here

270
Mikhail
git commit -a -m "Your commit message here"

wird schnell alle Änderungen mit der Festschreibungsmeldung festschreiben. Git commit "title" und "description" (wie Sie sie nennen) sind nichts weiter als die erste Zeile und die restlichen Zeilen in der commit-Nachricht, die normalerweise durch eine Leerzeile getrennt sind. Wenn Sie diesen Befehl verwenden, wird nur der "Titel" und keine Beschreibung festgeschrieben.

Wenn Sie eine längere Nachricht festschreiben möchten, können Sie dies tun, dies hängt jedoch davon ab, welche Shell Sie verwenden .

In Bash wäre der schnelle Weg:

git commit -a -m $'Commit title\n\nRest of commit message...'
49
Yuval Adam

Wenn Sie die Festschreibungsnachricht mit Header und Body verbessern möchten, nachdem Sie die Festschreibung erstellt haben, können Sie reword it. Dieser Ansatz ist nützlicher, da Sie erst wissen, was der Code tut, nachdem Sie ihn geschrieben haben.

git rebase -i Origin/master

Dann werden Ihre Commits angezeigt:

pick e152ce2 Update framework
pick ffcf91e Some magic
pick fa672e1 Update comments

Wählen Sie das Commit aus, das Sie neu formulieren und speichern möchten.

pick e152ce2 Update framework
reword ffcf91e Some magic
pick fa672e1 Update comments

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

Create perpetuum mobile

Redesign laws of physics with a pinch of imagination. Open a wormhole in 23 dimensions. Add protection to avoid high instability.
0
tashuhka