Jak czytać wykres dziennika git


95

W książce społeczności git jest napisane

Inną interesującą rzeczą, którą możesz zrobić, jest wizualizacja wykresu zatwierdzenia z opcją `` --graph '', na przykład:

$ git log --pretty=format:'%h : %s' --graph
* 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

Da całkiem niezłą reprezentację ASCII linii historii zmian.

Jak mam czytać ten wykres? Czym 420eac9różni się od reszty?

Odpowiedzi:


118

Gwiazdki wskazują, gdzie popełniono coś:

e1193f8, 5a09431i 30e367cbyli zobowiązani do lewej gałęzi (dając a |na prawej gałęzi), podczas gdy 420eac9byli zobowiązani do prawej gałęzi (dając a |na lewej gałęzi). I że to, co 420eac9robi inna od reszty: jest to tylko zobowiązać się do prawej gałęzi.

Ze względu na kompletność:

  • d6016bc był punktem rozgałęzienia
  • 5e3ee11 jest zatwierdzeniem scalającym
  • 2d3acf9 jest pierwszym zatwierdzeniem po scaleniu

4
Miałem pytanie o czasy zatwierdzenia, jak pokazano na wykresie. Na wykresie „420eac9” jest pokazane powyżej „30e367c”, „5a09431” i „e1193f8”. Czy to zawsze oznaczałoby, że „420eac9” zostało popełnione po pozostałych trzech, czy też jest to, że zatwierdzenia w gałęzi są zgrupowane razem, a kolejność, w jakiej pojawiają się w różnych gałęziach, nie ma korelacji czasowej?
Parag

4
@Parag: zatwierdzenia w gałęzi są zgrupowane razem. 420eac9zostało zrobione po pierwszym zatwierdzeniu e1193f8gałęzi, ale niekoniecznie po30e367c
eckes

1
@eckes, więc czy |symbole po lewej (najbardziej po lewej) reprezentują gałąź, na której obecnie jestem?
J86

@ J86 jeśli przełączysz się na inną gałąź i uruchomisz to samo polecenie, otrzymasz te same dane wyjściowe, więc na wykresie nie ma odniesienia do bieżącej gałęzi, w której się znajdujesz
onofricamila

19

420eac9znajduje się na innej gałęzi niż 3 zatwierdzenia „poniżej”. Później gałęzie rozeszły się d6016bci zostały połączone 5e3ee11.


5
Być może lepszym sformułowaniem niż rozgałęzienie rozbieżne jest to, że druga gałąź została utworzona d6016bci rozwinięta równolegle z oryginalną gałęzią.
Ilkka
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.