Mam skrypt, który musi odwoływać się do początkowego zatwierdzenia w repozytorium. git ma specjalne odwołanie HEAD
, ale nie ma odpowiedniego TAIL
. Nie mogę znaleźć niczego, git help rev-parse
co mogłoby mi pomóc.
Oto, co chciałbym zrobić:
git show TAIL
Oto jedna opcja, którą mam:
git show `git log --reverse | if read a commit ; then echo $commit ; fi`
To dość hakerskie i zależy od tego, czy dane wyjściowe dziennika git się nie zmieniają.
W tej chwili po prostu oznaczam początkowe zatwierdzenie i używam go jako mojego refspec. Chciałbym jednak wydać ogólne narzędzie, więc nie jest to świetna opcja.
źródło
git rev-list HEAD | tail -n 1
igit rev-list --max-parents=0 HEAD
nie zwracają tej samej wartości skrótu. Ten, który używa the,--max-parents=0
w rzeczywistości otrzymuje początkowe zatwierdzenie. Pomyślałem, że wskażę, że to drugie wydaje się bardziej niezawodne.--topo-order
do tegorev-list
powinno to naprawić, chociaż myślę, że--max=parents=0
odpowiedź jest najlepsza.git rev-list HEAD | tail -n 1
jest bardziej stabilną opcją.źródło
git rev-list --max-parents=0 HEAD
zwróciła 3 zatwierdzenia.Nie jestem pewien, co próbujesz tutaj zrobić, ale niektóre polecenia git przyjmują
--root
opcję, aby odwołać się do katalogu głównego drzewa zatwierdzeń, np.źródło