Plik dziennika wyjściowego dziennika Git


83

Wykonuję zadanie na kursie uniwersyteckim i używam git jako kontroli wersji dla tego zadania. Gra, nad którą pracowałem, jest ukończona, jednak wraz z rozdaniem chciałbym przesłać dziennik git, skutecznie pokazujący moje postępy w czasie, gdy nad nią pracowałem.

Próbowałem tego:

git log --stat > log.log

Ale mniej więcej daje mi to bardzo nieczytelne rzeczy. Czy ktoś może mi pomóc z poleceniem, abym mógł uzyskać ładne formatowanie?


Na czym ma się koncentrować wynik? Komunikaty dotyczące zmian? Rozgałęzienie? Daty? Pliki? Zmiany?
GoZoner

Odpowiedzi:


133

Zalecałbym użycie innego formatu niż domyślny. Moim typowym wyborem jest podsumowanie za pomocą wykresu, ale jedno podsumowanie liniowe zwykle wystarcza.

Opcja 1: Podsumowanie w jednym wierszu z wykresem

git log --pretty=format:'%h : %s' --graph > log.log

Prowadzi do:

* 2d3acf9 : ignore errors from SIGCHLD on trap
*   5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit
|\  
| * 420eac9 : Added a method for getting the current branch.
* | 30e367c : timeout code and tests
* | 5a09431 : add timeout protection to grit
* | e1193f8 : support for heads with slashes in them
|/  
* d6016bc : require time for xmlschema

Opcja 2: Podsumowanie w jednym wierszu bez wykresu

git log --pretty=format:'%h was %an, %ar, message: %s' > log.log

Prowadzi do:

a6b444f was Scott Chacon, 5 days ago, message: dammit, this is the second time this has re
49d77f7 was Scott Chacon, 8 days ago, message: modified index to create refs/heads if it i
9764edd was Hans Engel, 11 days ago, message: Add diff-lcs dependency
e1ba1e3 was Hans Engel, 11 days ago, message: Add dependency for Open4
0f87b4d was Scott Chacon, 12 days ago, message: merged recent changes

Więcej opcji formatowania znajdziesz w dokumentach tutaj


Dostaję Użyj „-”, aby oddzielić ścieżki od wersji
Marian Klühspies

1
Można znaleźć symbole zastępcze formatu na git-scm.com/docs/git-log . Wyszukaj podtytuł „ładne formaty”
Eric Majerus

Do Twojej wiadomości: Wiem, że ta odpowiedź jest stara, ale link „dokumenty” jest uszkodzony. Z pewnością nie zamierzam robić tego, co zrobili mi inni: głosuj w dół na moją odpowiedź, np. 3, 4 lub 5 + lata później, ponieważ link zepsuje się później. Przesłałem edycję, aby wskazać na git-scm.com ( git-scm.com/docs/pretty-formats ) FYI.
Erick Brown

Nieprawidłowa nazwa obiektu% h
zakodowany kontener,

10

Wypróbuj tę linię

git log > log.txt


1
To jest podstawowa odpowiedź, wszystko, czego potrzebowałem.
Jonathan

1
Sam git log pokaże tagi i gałęzie (wszystkie gałęzie, w tym gałęzie zdalne) na konsoli. Jednak git log> log.txt nie będzie zawierał tych informacji o tagu / gałęzi. Naprawdę chcę wiedzieć, jak sprawić, by były takie same (tj. Uzyskać dane wyjściowe z informacjami o tagach / gałęziach)
Robin Hsu

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.