2010-05-05 9 views
1

Je souhaite afficher l'historique d'un seul fichier, puis comparer une seule révision de cet historique avec la version actuelle.Comment différencier une révision d'un seul fichier en utilisant uniquement les outils Git GUI par défaut?

Sur la ligne de commande, c'est facile:

  1. Run:

    git log -- <filename> 
    
  2. Localisez la version que vous voulez comparer,

  3. Run:

    git diff <commitid> -- <filename> 
    

Mais comment cela peut être fait en utilisant uniquement la valeur par défaut des outils Git gui, git et IUG gitk?

Je connais deux méthodes utilisant gitk, mais ils sont tous les deux horriblement maladroit:

Soit:

  1. Sélectionnez l'option Nouvelle vue dans le menu Affichage,

  2. Tapez le chemin complet de votre fichier dans la zone Entrez les fichiers et répertoires à inclure, un par ligne,

  3. Localiser la version que vous voulez comparer en regardant les éléments mis en surbrillance dans le volet supérieur et cliquez dessus pour la sélectionner,

  4. Faites un clic droit sur la version actuelle et sélectionnez Diff sélectionné -> cette,

Ou:

  1. Sélectionnez Arbre en bas à droite h et le volet,

  2. Localisez le fichier que vous souhaitez regarder, faites un clic droit dessus et sélectionnez Sélectionnez ce que,

  3. Localisez la version que vous voulez comparer en regardant les éléments mis en évidence dans le volet supérieur et cliquez dessus pour la sélectionner,

  4. Faites un clic droit sur la version actuelle et sélectionnez Diff sélectionné -> ce,

  5. Cliquez sur le fichier dans e Dans la partie inférieure droite, sautez vers la sortie diff ou faites défiler manuellement.

Existe-t-il une meilleure méthode que celle-ci?

Répondre

1

Vous pouvez lancer gitk à partir de la ligne de commande et limiter son étendue à un seul fichier.

Vous pouvez également limiter la sortie à un ensemble de validations.

Par exemple, pour montrer les changements depuis <commit> qui ont changé path/to/file, essayez:

gitk <commit>.. -- path/to/file 

Voir la gitk man page pour plus de détails.

+0

@timhenigan Merci, mais je suis à la recherche d'une solution qui n'utilise pas la ligne de commande à * all *. J'ai modifié la question pour la rendre plus claire. – Rich