Ich habe ein Skript, das auf das initiale Commit in einem Repository verweisen muss. git hat die spezielle Referenz HEAD
, hat aber nicht die entsprechende TAIL
. Ich kann nichts in git help rev-parse
finden, das scheint mir zu helfen.Wie wird auf das initiale Commit verwiesen?
Hier ist, was Ich mag würde tun:
git show TAIL
Hier ist eine Option Ich habe:
git show `git log --reverse | if read a commit ; then echo $commit ; fi`
Das ziemlich hacky ist und hängt von der Ausgabe von git log nicht ändern.
Im Moment markiere ich einfach das erste Commit und benutze das als meine Refspec. Allerdings würde ich gerne ein allgemeines Tool veröffentlichen, also ist das keine gute Option.
Keine rohre, alle wurzeln: 'git rev-list --max-eltern = 0 KOPF' – wowest
@wowest: IIRC gab es keine' --max-eltern' option wenn ich schrieb diese Antwort. Thansk für das Update! –
Für mich ist die 'git rev-list HEAD | tail -n 1' und 'git rev-list -max-eltern = 0 HEAD' geben nicht denselben Hash-Wert für mich zurück. Derjenige, der '--max-eltern = 0 'verwendet, erhält tatsächlich den anfänglichen Commit. Ich dachte nur, dass letzteres zuverlässiger erscheint. – jbranchaud