Jakiego polecenia mogę użyć do wydrukowania identyfikatora zatwierdzenia HEAD?
Oto, co robię ręcznie:
$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
Potrzebuję jednak skryptu, który niezawodnie może przesłać dane wyjściowe niektórych poleceń do pliku tekstowego, tak aby plik tekstowy zawierał dokładnie identyfikator zatwierdzenia HEAD (nic więcej lub mniej, a nie tylko odwołanie). Czy ktoś może pomóc?
git
version-control
Andrew Arnott
źródło
źródło
Odpowiedzi:
Użyj polecenia:
W przypadku krótkiej wersji:
źródło
git rev-parse --short HEAD
będzie działał.tylko dla zatwierdzenia id
źródło
Stary wątek, do wglądu w przyszłości ... :) nawet kolejne prace
domyślnie HEAD jest odfiltrowywany. Uważaj jednak na następujące; liczba mnoga „głów” z „s” na końcu. Następujące polecenie pokazuje gałęzie w „refs / heads”
źródło
git show-ref --heads
i 6290 liniigit show-ref --head
. więc jeśli chcesz tylko jednego skrótu, może to nie dać zamierzonego rezultatu.Możesz określić
git log
opcje wyświetlania tylko ostatniego zatwierdzenia-1
oraz format zawierający tylko identyfikator zatwierdzenia, taki jak ten:git log -1 --format=%H
Jeśli wolisz skrócony identyfikator zatwierdzenia:
git log -1 --format=%h
źródło
Graj z Bash:
źródło
Według https://git-scm.com/docs/git-log , aby uzyskać ładniejsze dane wyjściowe w konsoli, możesz użyć --decorate argumentu polecenia git-log :
wydrukuje:
źródło
git rev-parse --abbrev-ref HEAD
źródło
Możesz użyć tego polecenia
$ git rev-list HEAD
Możesz także użyć
head
polecenia Unix, aby wyświetlić najnowszen
HEAD
zatwierdzenia, takie jak$ git rev-list HEAD | head - 2
źródło
Możesz użyć
aby zobaczyć
git reflog
informacje sformatowane jak danegit log
wyjścioweźródło