2013-08-25 22 views

Odpowiedz

4

Początkowo Odpowiedziałem:

Chyba git commit --reuse-message=HEAD prawda

Wtedy pomyślałem, że nie to co chciałeś i usunął go. Potem życie nadrobiło zaległości i otrzymało AFK na kilka godzin. Tak czy inaczej, pomimo odpowiedzią które już zostały przyjęte, bym zaproponował:

$ git config alias.troubleshoot '!troubleshoot() { git add -u && git commit -m "Troubleshooting the $1 during deployment to Heroku."; }; troubleshoot' 

I go używać w następujący sposób:

  1. modyfikować istniejące pliki
  2. (ewentualnie dodać pliki nieśledzone)
  3. git troubleshoot foo

Zatwierdzi zmiany (i ewentualnie nowe pliki) za pomocą "Trou bleshooting się foo podczas wdrażania do Heroku „. jako wiadomość zatwierdzenia.

+0

Jest to bezpieczniejsze rozwiązanie problemu, a jest to również rozwiązanie dla szerszego problemu Jak łatwo ponowne wspólne git commit komentarze?Fakt, że możesz używać parametrów, pomaga zagwarantować, że dziennik nie zostanie wypełniony bezużytecznymi komentarzami. Zobacz [Aliasy] (https://git.wiki.kernel.org/index.php/Aliases), aby uzyskać więcej informacji. – Seth

1

Nie jestem pewien, w jaki sposób możesz mieć określony zestaw zatwierdzeń git, używając ostatniego wprowadzonego komentarza git, ale możesz ustawić ustawić domyślny komunikat zatwierdzenia. To może załatwić sprawę tak długo, jak wyłączysz domyślną wiadomość zatwierdzenia, gdy skończysz ze wszystkimi zobowiązaniami, które będą potrzebne do użycia tej wiadomości.

Oto jak go o ustawienie domyślnej popełnić wiadomość. Po pierwsze, wprowadź żądaną popełnić post w pliku, pozwala wywołać ~/LastCommitMessage.txt. Następnie należy określić to jako domyślny (globalnych) zobowiązują wiadomość tak:

$ git config --global commit.template ~/LastCommitMessage.txt 

Można zawęzić zakres korzystania przez nie --global i za pomocą czegoś innego zamiast.

można łatwo uzyskać dostęp do wszystkich ustawień git otwierając plik .gitconfig znajdujący się w katalogu domowym. Otwórz ten plik i usuń powyższe ustawienie, aby anulować ustawienie po zakończeniu wszystkich zatwierdzeń.

9

Z dokumentacji polecenia git-commit(1),

-C <commit> 
--reuse-message=<commit> 
Take an existing commit object, and reuse the log message and the authorship 
information (including the timestamp) when creating the commit. 

-c <commit> 
--reedit-message=<commit> 
Like -C, but with -c the editor is invoked, so that the user can further edit 
the commit message. 

Jest więc możliwe, stosując

git commit --reuse-message=HEAD 

Aktualizacja:

Być może trzeba użyć opcji --reset-author,

--reset-author 
When used with -C/-c/--amend options, declare that the authorship of the 
resulting commit now belongs of the committer. This also renews the author 
timestamp. 
+0

Ach, więc to nie jest wyciągnięcie z MOJEGO ostatniego komentarza commit? – Seth

+0

Zastanawiasz się nad ... Jeśli napiszę 'git commit -a --reuse-message = HEAD' lokalnie, w jaki sposób może on wyciągnąć coś innego niż mój najnowszy komentarz zatwierdzenia? Jak wpisałby się komentarz innego członka zespołu z tym rozkazem i kontekstem? – Seth

+0

Przepraszam, że źle zrozumiałem twoje pytanie, Tak, jest ono pobierane z najnowszego komunikatu zatwierdzenia zgodnie z tym, gdzie wskazuje twoja HEAD. Jeśli masz inny komentarz ingerujący między nowym a ostatnim, to wtedy pojawi się komunikat tego komentarza. –

Powiązane problemy