Como posso ver o histórico de alterações de um arquivo individual em Git, detalhes completos com o que mudou?
Eu cheguei até aqui:
git log -- [filename]
o que me mostra o histórico de commit do arquivo, mas como eu chego ao conteúdo de cada uma das mudanças do arquivo?
I'estou tentando fazer a transição do MS SourceSafe e isso costumava ser um simples clique direito
→ how history
.
Você pode usar o
git log -p filename
para deixar o git gerar os patches para cada entrada de registro.
Ver
git help log
para mais opções - pode realmente fazer um monte de coisas boas :) Para obter apenas a diferença para um compromisso específico, você pode
git show HEAD
ou qualquer outra revisão por identificador. Ou usar
gitk
para navegar visualmente pelas mudanças.
git whatchanged -p filename
também é equivalente a git log -p filename
neste caso.
Você também pode ver quando uma linha específica de código dentro de um arquivo foi alterada com git blame filename
. Isto irá imprimir um pequeno id de commit, o autor, timestamp, e uma linha completa de código para cada linha no arquivo.
Isto é muito útil depois de ter encontrado um bug e você quer saber quando ele foi introduzido (ou quem teve culpa disso).
Se você estiver usando o git GUI (no Windows) sob o menu Repositório você pode usar "Visualizar o histórico do mestre". Destaca um commit no painel superior e um ficheiro no canto inferior direito e verás o diff para esse commit no canto inferior esquerdo.