Git Commit mit stdout von bash?


8

Ist es möglich, eine Commit-Nachricht von stdout zu verwenden, wie:

echo "Test commit" | git commit -

Es wurde auch versucht, den Nachrichteninhalt wiederzugeben .git/COMMIT_EDITMSG, aber beim Ausführen werden Sie git commitaufgefordert, Änderungen in der genannten Datei hinzuzufügen.

Antworten:


20

Sie können die -F <file>, --file=<file>Option verwenden.

echo "Test commit" | git commit -F -

Seine Verwendung wird in der Manpage beschrieben für git commit:

Nehmen Sie die Festschreibungsnachricht aus der angegebenen Datei. Verwenden Sie -, um die Nachricht von der Standardeingabe zu lesen.


1
Verpasste diese Option beim Lesen man:) Danke!
Flüchtling

5

Sie könnten immer eine kleine Funktion dafür schreiben:

gcm(){ 
    read message
    git commit -m "$message" "$@"
}

Fügen Sie das zu Ihrer ~/.bashrcoder einer Entsprechung für Ihre Shell hinzu und führen Sie dann Folgendes aus:

echo "Test commit" | gcm filename.to.commit

Der obige Befehl wird ausgeführt

git commit -m "Test commit" filename.to.commit

1
Ich denke du meintest echo "Test commit" | gcm filename.to.commit.
user2313067

@ user2313067 d'oh! Ja, das habe ich natürlich getan. Vielen Dank!
Terdon
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.