Eu só quero ver os arquivos que foram confirmados no último commit exatamente como eu vi na lista quando o fiz git commit
. Infelizmente, procurando por
git "last commit" log
no Google não me leva a lugar algum. E
git diff HEAD^..HEAD
não é o que eu preciso, é claro, uma vez que vomita a coragem da mudança também.
git diff HEAD^..HEAD
!Respostas:
Conforme determinado por comentários, parece que o OP está procurando
Isso também está muito próximo da saída que você obteria
svn status
ou dasvn log -v
qual muitas pessoas vindas do subversion para o git estão familiarizadas.--name-status
é a chave aqui; como observado por outras pessoas em esta pergunta, você pode usargit log -1
,git show
egit diff
para obter o mesmo tipo de saída. Pessoalmente, costumo usargit show <rev>
as revisões individuais.fonte
git log --stat --author nroose -n 1
Use o git show :
Isso mostrará os nomes dos arquivos criados ou removidos, mas não os nomes dos arquivos alterados . O
git show
comando suporta uma ampla variedade de formatos de saída que mostram vários tipos de informações sobre confirmações.fonte
git show --stat
está próximo, mas não existe uma visualização em que a palavra 'modificado' ou 'adicionado' apareça ao lado do arquivo?--stat
), também poderá procurar--name-status
e--name-only
alternar.git log --name-status HEAD^..HEAD
poderia trabalhar
fonte
Para ver o último commit
Para ver os 2 últimos commit
etc ....
fonte
De longe, o comando mais simples para isso é:
Como lista apenas os arquivos no último commit e não dá a você toda a coragem
Um exemplo da saída sendo:
fonte
--name-status
vez de--name-only
.Faz o trabalho para mim.
fonte
Para ver as últimas alterações de confirmação
Ou para ver a segunda última alteração de confirmação
Além disso, basta substituir '1' acima com o número de sequência de confirmação necessário.
fonte
Depois de fazer várias confirmações ou clonar / puxar um repositório, convém ver quais confirmações foram feitas. Basta verificar essas soluções simples para ver seu histórico de consolidação (do último / recente ao primeiro).
Para o último commit, apenas fogo este comando:
git log -1
. Para coisas mais interessantes, veja abaixo -Para ver o ID de confirmação (soma de verificação SHA-1), Nome do autor <ID do email>, Data junto com a hora e mensagem de confirmação -
Para ver mais algumas estatísticas, como os nomes de todos os arquivos alterados durante esse commit e o número de inserções / exclusões. Isso é muito útil ao revisar o código -
Para ver os históricos de confirmação em alguns formatos bonitos :) (Isso é seguido por algumas opções de pré-construção) -
Se você tiver muitos commits para revisar, este comando os mostrará em uma única linha elegante:
Para ver detalhes curtos, médios, completos ou até mais detalhes do seu commit, use o seguinte, respectivamente -
Você pode até usar seu próprio formato de saída usando a
format
opção -onde% an - nome do autor,% ae - email do autor,% s - assunto do commit, etc.
Isso pode ajudá-lo com seus históricos de confirmação. Para mais informações, clique aqui .
fonte
ou
fonte
git log --name-status HEAD^..HEAD
git log ... HEAD^..HEAD
, não é mais simples de usargit log ... -1 HEAD
, ou melhorgit show ... HEAD
?git diff --stat HEAD
Isso mostra o mesmo diffstat que seu último commit.
fonte
Outra maneira de listar apenas os arquivos é usar:
git diff-tree --no-commit-id --name-only -r HEAD^..HEAD
Ou você pode usar dois IDs de confirmação
fonte
log
?Se você está pensando em encontrar o maior e mais recente commit após executar um check-out git de um commit anterior ( e esqueceu de escrever o hash do HEAD antes de executar o checkout ), a maioria dos itens acima não o levará de volta para onde você começou. git log - [some #] mostra apenas o log da posição ATUAL do HEAD , que não é necessariamente o último commit (estado do projeto). O checkout desconectará o HEAD e apontará para o que você fez check-out.
Você pode visualizar o reflog git inteiro , até chegar à entrada que faz referência ao clone original. BTW, isso também não funcionará se forem feitas confirmações entre o momento em que você clonou o projeto e quando você efetuou um checkout. Caso contrário, você pode esperar que todas as suas confirmações na máquina local estejam no servidor e depois clonar novamente o projeto inteiro.
Espero que isto ajude.
fonte