J'ai besoin de générer un diff pour un seul fichier qui montrera les différences entre deux versions, qui sont en fait des balises dans github. Je veux ensuite envoyer ce diff à quelqu'un par e-mail, une URL github pour le diff serait donc idéale. La vue de comparaison de github me permettra de le faire pour tous les fichiers modifiés, mais ce n'est pas bon car il y a des milliers de fichiers dans mon dépôt.
Je peux le faire dans la ligne de commande comme suit, mais cela n'aide pas car j'ai besoin d'envoyer le diff à quelqu'un par e-mail:
git diff tag1 tag2 -- path/to/file
J'ai trouvé la version en ligne de commande discutée ici: comment puis-je voir les différences dans un fichier désigné entre une branche locale et une branche distante?
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}.diff
sourceVoici ma solution de contournement lorsque le problème suivant s'applique.
Copiez la vue brute du fichier que vous souhaitez comparer à https://gist.github.com/ . Utilisez les deux points de validation spécifiques que vous souhaitez comparer. Commencez par l'ancien commit.
https://gist.github.com/ a une belle vue des différences côte à côte lorsque vous cliquez sur «Révisions».
la source
La réponse est destinée aux personnes qui souhaitent uniquement voir (ne pas télécharger) l'historique / la révision des modifications de code d'un fichier dans la page Web GITHUB pour l'enregistrement précédent.
Accédez à ce fichier dans le github, puis sélectionnez HISTORIQUE . Cela ouvrira la page avec la liste des liens de commentaires d'enregistrement comme ci-dessous.
En cliquant dessus, vous verrez les changements de code. Après avoir cliqué sur l'historique; vous pouvez cliquer sur les packages pour voir au niveau du package tous les enregistrements de fichiers.
Dans eclipse, vous pouvez comparer l'historique en utilisant le plugin EGit et "Clic droit -> Comparer avec" sur le fichier. Comment puis-je comparer deux révisions dans git dans Eclipse?
la source
J'ai utilisé la réponse de nulltoken pour mettre en place un script de commodité simple pour extraire un diff entre deux commits sur GitHub à partir de la ligne de commande.
Vous pouvez trouver le script complet sur l'essentiel , mais voici les bons éléments:
Il accepte comme arguments les branches, les commits et tout ce qui peut être résolu par
git rev-parse
. J'ai utiliséopen
, qui ne fonctionne que sur macOS pour ouvrir des pages Web, donc si vous êtes dans un environnement différent, vous voudrez l'ajuster.Comme pour la réponse de nulltoken, pour pointer vers un seul fichier dans le diff, vous devrez cliquer sur le titre du fichier pour faire apparaître la chaîne d'ancrage dans la barre d'url, que vous pourrez ensuite copier.
la source
Comme cela n'est toujours pas possible, voici une méthode d'outil de comparaison basée sur un navigateur. Il ne tire pas parti de l'automatisation, mais nécessite uniquement la possibilité d'installer des extensions Chrome:
la source