Como listar confirmações desde que certas confirmações?

144

Existe alguma maneira de obter uma lista de confirmações de um determinado número de confirmação para HEAD?

Sei que isso é possível até a data de confirmação, mas preciso do número de confirmação e não consigo encontrar nenhuma documentação, ou mesmo se isso for possível.

ehftwelve
fonte
Qual comando Git você estava usando para listar confirmações de um determinado nome de confirmação?
Greg Hewgill 7/10
Você quer dizer cometer hash, certo? Você também pode usar HEAD~10para significar "10 confirmações antes de HEAD" para que você possa fazer git log HEAD~10.., se é isso que você quer dizer com número de confirmação.
Cascabel

Respostas:

174
git rev-list <since_hash>..HEAD

ou para incluir o commit:

git rev-list <since_hash>^..HEAD

Você pode usar em git logvez de git rev-listtambém para obter detalhes adicionais.

manojlds
fonte
Isso funcionou perfeitamente para mim, obrigado! Eu juro que tentei isso. Deve ter cometido um erro.
ehftwelve
@manojlds eu sei que HEADestá apontando para o commits durou, mas o que é o significado de^
Kasun Siyambalapitiya
2
@KasunSiyambalapitiya ^é um alias para o primeiro pai. Veja "ESPECIFICANDO REVISÕES" em kernel.org/pub/software/scm/git/docs/git-rev-parse.html - veja também o manual git-scm.com/book/en/v2/Git-Tools-Revision -Seleção - ou stackoverflow.com/questions/2221658/…
Michaelangel007
2
Eu recebo uma lista enorme e enorme de SHAs ... mesmo para um commit que é apenas uma volta (uma perna de uma mesclagem). O que isso está me dizendo e como isso é útil?
ErikE 26/02
Se você se importa apenas com a contagem de confirmações, poderá especificar a --countopção depois rev-list. ie:git rev-list --count <since_hash>..HEAD
Jon Schneider
75
git log <hash>..

É a menor quantidade de digitação. Omitir "HEAD" pressupõe que é isso que você quis dizer. Rev-list também funcionaria.

Adam Dymitruk
fonte
2
Este é o meu favorito. Eu gosto de combiná-lo --oneline. Em vez de <hash>, é claro, você também pode usar um árbitro como o nome de uma ramificação.
Codificador 07/07
2
Também git log HEAD~#..onde #está o número de confirmações recentes desejadas.
usar o seguinte comando
def a melhor e mais concisa opção!
Ricardo Rodrigues
37

Você pode executar o seguinte comando git no shell:

git log --pretty=oneline commit-id...HEAD
Matthieu
fonte
12

Supondo que, com "número de confirmação", você queira dizer hash de confirmação:

git log <commit-hash>..HEAD
hammar
fonte
1

Se alguém aqui está tentando descobrir como MENOS através da saída de git loginiciar em um determinado commit, paginando para trás, é tão simples quanto git log <hash>.

Matthew Hinea
fonte