Como visualizar compromissos completos ao rastrear o histórico de um único arquivo no Git?

StackOverflow https://stackoverflow.com/questions/1974373

  •  21-09-2019
  •  | 
  •  

Pergunta

Eu tenho um repositório Git com cerca de dois anos de história. Eu tenho um único arquivo, para o qual desejo encontrar todas as confirmações e para cada confirmação: todos os outros arquivos que foram cometidos nele. Vamos supor que esse arquivo seja nomeado file.txt. Eu posso executar o gitk com este arquivo como argumento:

gitk file.txt

E eu recebo cada confirmação. No entanto, navegar nessa árvore no gitk mostra apenas alterações feitas no arquivo.txt. Eu gostaria de ver quais outros arquivos foram alterados nesse compromisso. Eu posso copiar a pasta de cada compromisso sha1 e exibi -lo, mas existem mais de centenas de confirmações relacionadas a este arquivo.

Percebo que a seção "Comentários" na parte inferior direita da tela está vazia (mostra apenas o texto "comentários"). Talvez uma lista de arquivos possa ser mostrada lá?

Foi útil?

Solução

Na linha de comando,

git log -p --full-diff file.txt

produzirá o que você deseja.

Se você deve vê -lo em Gitk, invocar não Argumentos, encontre o File.txt "Path Touching Path", e o Commit contém esse arquivo será em negrito. E você pode usar os botões "Up" e "Down" para atravessar por ele.

Outras dicas

Você pode realmente ter a funcionalidade '-Full-Diff' no Gitk, mas não diretamente da linha de comando. Basta fazer o seguinte:

  • Comece a Gitk da maneira usual, por exemplo: gitk file.txt
  • Selecione 'View -> Editar View ...' no menu. Verifique se você está editando a visualização 'Linha de comando'.
  • Na caixa de edição ao lado de "Argumentos adicionais para Git Log", digite --full-diff
  • Clique em "Aplicar" ou pressionar [F5].

Isso deve resolver. Por que o GITK não permite que você use isso na linha de comando é um mistério para mim, pois é uma opção muito útil.

Outra solução da lista de discussão datada de volta em 2008:

Tente desativar a opção "Limit Diffs a Caminhos listados" no menu Preferências (ou adicionando "Define LimitDiffs 0" ao seu ~/.gitk).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top