2012-02-20 15 views
11

Kiedy sprawdzam poprzednie zatwierdzenie repozytorium git, "git log" nie pokazuje już commitów, które zostały zatwierdzone po aktualnie wyewidencjonowanym zatwierdzeniu.Git log: log przyszłych wersji

Pytanie brzmi: jak uzyskać dziennik zatwierdzeń po aktualnie wyrejestrowanym?

+3

Naprawdę nie jest to odpowiedź, ale * bardzo * sugeruję użycie 'gitk --all' do wizualizacji wielu gałęzi i historii. – Irfy

Odpowiedz

17

Możesz użyć flagi --all żeby zobaczyć wszystkie wersje, jak w

git log --all 

Jeśli interesuje tylko przyszłymi wersjami, można również użyć

git log [email protected]{1}  # assuming you just switched from the future master 
git log ..abcdef # assuming abcdef is the newest future commit 
+0

czy możesz wyjaśnić ".. @ {1}"? – drzaus

+0

@drzaus '@ {n}' to n-te zatwierdzenie w aktualnej gałęzi, więc '@ {1}' jest po prostu najnowszym zatwierdzeniem w bieżącym oddziale. Podwójna kropka '..' wskazuje, że wszystko jest osiągalne z zatwierdzenia po prawej stronie, które nie jest osiągalne z zatwierdzenia po lewej stronie. Dlatego 'HEAD .. @ {1}' pokazuje wszystko, co jest osiągalne od ostatniego zatwierdzenia w bieżącym oddziale, ale nie od bieżącego zatwierdzenia (i można pominąć 'HEAD'). – phihag

1

Problemem jest: ty nie wiem, że dzieci się zobowiązują, tylko rodzic komentuje.
A jeśli wymeldujesz się bezpośrednio po zatwierdzeniu SHA1, jesteś w Detached HEAD mode (tj. Nie w żadnym oddziale).

Jednym z możliwych rozwiązań jest lista wszystkich gałęzi, które zawierają zatwierdzenie: "How to know which branch a “git log” commit belongs to?".
A następnie wykonaj dziennik git dla każdej z tych gałęzi.