Jak wyświetlić listę zmian od czasu określonego zatwierdzenia?


144

Czy w ogóle można pobrać listę zatwierdzeń z podanego numeru zatwierdzenia do HEAD?

Wiem, że jest to możliwe przed datą zatwierdzenia, ale potrzebuję tego według numeru zatwierdzenia i nie mogę znaleźć żadnej dokumentacji, a nawet jeśli jest to możliwe.


Jakiej komendy Git użyłeś, aby wyświetlić listę zmian z podanej nazwy zatwierdzenia?
Greg Hewgill

Masz na myśli popełnienie haszyszu, prawda? Możesz także użyć HEAD~10określenia „10 zatwierdzeń przed HEAD”, abyś mógł to zrobić git log HEAD~10.., jeśli to masz na myśli przez numer zatwierdzenia.
Cascabel

Odpowiedzi:


174
git rev-list <since_hash>..HEAD

lub aby dołączyć zmianę:

git rev-list <since_hash>^..HEAD

Możesz użyć git logzamiast, git rev-listaby uzyskać dodatkowe informacje.


To zadziałało idealnie dla mnie, dzięki! Przysięgam, że próbowałem tego. Musiał popełnić błąd.
ehftwelve

@manojlds Wiem, że HEADwskazuje na ostatnie zatwierdzenia, ale jakie jest znaczenie^
Kasun Siyambalapitiya


2
Otrzymuję ogromną listę SHA ... nawet dla zatwierdzenia, które jest tylko jeden wstecz (jedna noga scalenia). Co mi mówi i jak to jest przydatne?
ErikE

Jeśli zależy Ci tylko na liczbie zatwierdzeń, możesz określić --countopcję po rev-list. tj .:git rev-list --count <since_hash>..HEAD
Jon Schneider

75
git log <hash>..

To najmniejsza ilość wpisywania. Pomijanie słowa „GŁOWA” zakłada, że ​​o to ci chodziło. Rev-lista też by działała.


2
Ten jest moim ulubionym. Lubię to łączyć z --oneline. Zamiast <hash>, oczywiście, możesz też użyć odwołania, takiego jak nazwa gałęzi.
koder,

2
Również git log HEAD~#..gdzie #jest liczba żądanych ostatnich zatwierdzeń.
user3.1415927

zdecydowanie najlepsza i najbardziej zwięzła opcja!
Ricardo Rodrigues

37

Możesz uruchomić następujące polecenie git z powłoki:

git log --pretty=oneline commit-id...HEAD

12

Zakładając, że przez „numer zatwierdzenia” masz na myśli skrót zatwierdzenia:

git log <commit-hash>..HEAD

1

Jeśli ktoś tutaj próbuje dowiedzieć się, jak MNIEJ poprzez wyjście git logzaczynające się od określonego zatwierdzenia, paginując wstecz, jest to tak proste, jak git log <hash>.

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.