Quando git diff COMMIT
vejo as alterações entre esse commit e o HEAD (tanto quanto sei), mas gostaria de ver as alterações feitas por esse único commit.
Eu não encontrei nenhuma opção óbvia em diff
/ log
que me dará essa saída.
git
version-control
diff
git-diff
Laktak
fonte
fonte
Respostas:
Para ver o diff para um
COMMIT
hash específico :git diff COMMIT~ COMMIT
mostrará a diferença entre esseCOMMIT
ancestral e oCOMMIT
. Veja as páginas de manual do git diff para detalhes sobre o comando e gitrevisions sobre a~
notação e seus amigos.Como alternativa,
git show COMMIT
fará algo muito semelhante. (Os dados do commit, incluindo seu diff - mas não para commits de mesclagem.) Veja a página de manual do git show .fonte
^
necessidades de ser citado nas conchas Thomson e Bourne (sinônimo de|
lá) erc
e seus derivados (operador acento circunflexo) ezsh
com extendedglob habilitado (not
operador de englobamento)HEAD^
implica o primeiro pai no caso de uma confirmação ter vários pais (ou seja, confirmação de mesclagem).git diff COMMIT~ COMMIT
funciona para mim, observe o til em vez de acento circunflexo. Estou executando o git versão 2.6.1.windows.1 no Windows 10.Como mencionado em " Atalho para diff do git commit com seu pai? ", Você também pode usar
git diff
com:ou
Com o git show, você precisaria (para se concentrar apenas no diff):
O
COMMIT
parâmetro é um commit-ish :Veja gitrevision "ESPECIFICANDO REVISÕES" para referenciar um commit-ish.
Veja também " O que significa tree-ish no Git? ".
fonte
Você também pode tentar desta maneira fácil:
fonte
git show
mostra as alterações feitas no commit mais recente.Equivalente a
git show HEAD
.git show HEAD~1
leva você de volta 1 commit.fonte
Eu costumo fazer:
Para mostrar as alterações relacionadas ao último commit. Se você tiver mais confirmações, apenas aumente o número 1 para quantas confirmações você deseja ver.
fonte
Primeiro obtenha o ID de confirmação usando,
Ou
Copie o ID de confirmação.
Agora usamos dois métodos para listar alterações de uma confirmação específica,
Método 1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
Método 2:
fonte
^!
significa isso?Isso mostrará exatamente o que há nesse commit. Eu acho que você pode fazer um intervalo apenas colocando um espaço entre dois commit shas.
o que é bastante útil se você estiver revidando com frequência, pois seus logs de recursos serão todos seguidos.
fonte
Na página de manual do git-diff (1) :
Use o terceiro no meio:
Também na mesma página do manual, na parte inferior, na seção Exemplos :
É certo que está redigido um pouco confuso, seria menos confuso quanto
fonte
git diff HEAD HEAD^
.O seguinte parece fazer o trabalho; Eu o uso para mostrar o que foi trazido por uma mesclagem.
fonte
git log
? (por causa de stackoverflow.com/a/18585297/6309 )Outra possibilidade:
fonte
Você poderia usar
git diff HEAD HEAD^1
para ver o diff com o commit pai.Se você deseja apenas ver a lista de arquivos, adicione a
--stat
opçãofonte
diff
comando é: o que eu precisaria alterar no arquivo para passar de commitHEAD
para commitHEAD^1
?também é possível se você configurou seu difftool.
Veja aqui como configurar o difftool Ou a página de manual aqui
Além disso, você pode usar
git diff-tree --no-commit-id --name-only -r <commit hash>
para ver quais arquivos foram alterados / confirmados em um hash de confirmaçãofonte
Eu gosto do comando abaixo para comparar um commit específico e seu último commit:
Exemplo:
fonte
Para ver o autor e a hora usando commit
git show COMMIT
. O que resultará em algo assim:Se você deseja ver quais arquivos foram alterados, execute o seguinte com os valores da linha Mesclar acima
git diff --stat a2a2894 3a1ba8f
.Se você quiser ver o diff real, execute
git --stat a2a2894 3a1ba8f
fonte
git --stat a2a2894 3a1ba8f
". Eu acho que você quer dizergit diff a2a2894 3a1ba8f
ou nãounknown option: --stat
.Para verificar alterações completas:
Para verificar apenas os arquivos alterados / adicionados / excluídos:
NOTA : Para verificar o diff sem confirmar no meio, você não precisa colocar os IDs de confirmação.
fonte
Estou executando o Git versão 2.6.1.windows.1 no Windows 10, então precisei de uma pequena modificação na resposta de Nevik (til em vez de circunflexo):
Outra opção é citar o sinal de intercalação:
fonte
Este comando fornece o commit-hash pai do Git:
Depois disso
git diff-tool <commit-hash> <parent-commit-hash>
Exemplo:
Depois disto
fonte
Se você quiser apenas ver as alterações no último commit, simplesmente
git show
fornecerá isso.fonte
No caso de verificar a alteração da fonte em uma visualização gráfica,
por exemplo:
fonte