Eu tenho um script que precisa fazer referência ao commit inicial em um repositório. O git tem a referência especial HEAD
, mas não tem a correspondente TAIL
. Não consigo encontrar nada git help rev-parse
que possa me ajudar.
Aqui está o que eu gostaria de fazer:
git show TAIL
Aqui está uma opção que tenho:
git show `git log --reverse | if read a commit ; then echo $commit ; fi`
Isso é bastante hacky e depende da saída do git log não mudar.
No momento, apenas identifico o commit inicial e o uso como meu refspec. No entanto, eu gostaria de lançar uma ferramenta geral, portanto essa não é uma ótima opção.
fonte
git rev-list HEAD | tail -n 1
egit rev-list --max-parents=0 HEAD
não está retornando o mesmo valor de hash para mim. Aquele que usa o--max-parents=0
está de fato recebendo o commit inicial. Apenas pensei em salientar que o último parece mais confiável.--topo-order
ao querev-list
deveria corrigir isso, embora eu ache a--max=parents=0
resposta melhor.git rev-list HEAD | tail -n 1
é uma opção mais estável.fonte
git rev-list --max-parents=0 HEAD
retornou 3 commits.