Eu preciso gerar um diff para um único arquivo que mostrará as diferenças entre as duas versões, que na verdade são tags no github. Eu então quero enviar este diff para alguém por e-mail, então uma URL do github para o diff seria o ideal. A visualização de comparação do github me permite fazer isso para todos os arquivos alterados, mas isso não é bom, pois há milhares de arquivos em meu repo.
Posso fazer isso na linha de comando da seguinte maneira, mas isso não ajuda, pois preciso enviar o diff para alguém por e-mail:
git diff tag1 tag2 -- path/to/file
Encontrei a versão da linha de comando discutida aqui: como posso ver as diferenças em um arquivo designado entre uma filial local e uma filial remota?
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}.diff
FonteAqui está minha solução alternativa quando o seguinte problema se aplica.
Copie a visualização bruta do arquivo que deseja comparar com https://gist.github.com/ . Use os dois pontos de confirmação específicos que você deseja comparar. Comece com o commit mais antigo.
https://gist.github.com/ tem uma bela visualização de comparação lado a lado quando você clica em 'Revisões'.
fonte
A resposta é para pessoas que desejam apenas ver (não fazer download) o histórico / revisão das alterações de código de um arquivo na página da WEB do GITHUB para o check-in anterior.
Acesse esse arquivo no github e selecione HISTÓRICO . Isso abrirá a página com a lista de links de comentários de check-in como abaixo.
Ao clicar nele, serão mostradas as alterações do código. Depois de clicar no histórico; você pode clicar nos pacotes para ver os check-ins de todos os arquivos no nível do pacote.
No eclipse, você pode comparar o histórico usando o plugin EGit e "Clique com o botão direito -> Comparar com" no arquivo. Como posso comparar duas revisões no git no Eclipse?
fonte
Eu usei a resposta do nulltoken para montar um script de conveniência simples para puxar uma diferença entre dois commits no GitHub a partir da linha de comando.
Você pode encontrar o script completo no gist , mas aqui estão as partes boas:
Ele aceita como argumentos branches, commits e qualquer outra coisa que possa ser resolvida por
git rev-parse
. Eu useiopen
, que só funciona no macOS para abrir páginas da web, então se você estiver em um ambiente diferente, você vai querer ajustar isso.Tal como acontece com a resposta do nulltoken, para apontar para um único arquivo no diff, você terá que clicar no título do arquivo para fazer a string âncora aparecer na barra de url, que você pode copiar.
fonte
Como isso ainda não é possível, aqui está um método de ferramenta de comparação baseado em navegador. Não aproveita a automação, mas requer apenas a capacidade de instalar extensões do Chrome:
fonte