2013-03-29 5 views
3

Je sais que la dernière git peut utiliser cette commande pour répertoire diff deux versions:client git qui peut faire un répertoire diff

git difftool -d <sha1> <sha1>

Mais je ne trouve pas de clients git (GUI) qui peut faire ce travail.

J'ai essayé tortoisegit smartgit git-cola git-extentions github gitk

Aucun d'entre eux a cette fonction, quelqu'un pourrait-il recommander un client git (exécute sur Windows XP) qui peut le faire?

Je ne sais pas si sourcetree peut le faire ou non, parce que je n'ai pas win7 ou mac.

Merci.

+1

Vous ne savez pas quoi défini comme difftool ? – Chronial

+0

Je sais comment définir un difftool, et je sais aussi comment diff deux révisions via la ligne de commande, je ne sais pas quel client git (GUI) peut le faire simplement en sélectionnant deux révisions et cliquez sur certains "répertoire diff ces deux révisions " – shengy

Répondre

1

Le client Windows git standard, msysgit, peut le faire si vous le configurez pour utiliser Beyond Compare 3 (non libre) comme outil de comparaison.

Vous pouvez configurer like this:

git config --global diff.tool bc3 
git config --global difftool.bc3.cmd "\"c:/Program Files/Beyond Compare 3/BCompare.exe\" \"$LOCAL\" \"$REMOTE\"" 
git config --global difftool.prompt false 

Edit: En fait kdiff3 peut aussi y parvenir, et est libre. Setup here:

[diff] 
    tool = kdiff3 

[merge] 
    tool = kdiff3 

[mergetool "kdiff3"] 
    path = C:/YourPathToBinaryHere/KDiff3/kdiff3.exe 
    keepBackup = false 
    trustExitCode = false 

[difftool "kdiff3"] 
    path = C:/YourPathToBinaryHere/KDiff3/kdiff3.exe 
    keepBackup = false 
    trustExitCode = false 
+1

Je sais comment faire cela à travers une ligne de commande, mais ce que je veux, c'est une interface graphique qui peut simplement sélectionner deux révisions et cliquez sur un« répertoire diff ces deux versions »ou quelque chose comme ça. Ne pas entrer le 'git difftool -d rev1 rev2' – shengy

0

Dans SmartGit/Hg vous pouvez configurer un fichier externe comparer les outils: aller à Edition | Préférences et les configurer à Outils - fichier Comparateurs.

Vous pouvez diff deux commits à l'intérieur du journal: il suffit de sélectionner les deux dans le Graphique vue (Control-cliquez sur Windows) et vous verrez tous les changements dans la vue Fichiers. Ici vous pouvez étudier des fichiers individuels avec votre outil de comparaison externe simplement en double-cliquant.

+0

Mais comment faire un répertoire diff? ne pas afficher un diff de fichiers uniques à chaque fois. – shengy

+0

Pourquoi voudriez-vous faire cela dans un outil externe? Un client Git fera le diff de répertoire plus efficacement. – mstrap

+0

Parce que vous ne pouvez pas persuader tous vos collèges à l'interface de ligne de commande, et cette fonctionnalité est ce qu'ils sont habitués à cause de 'tortoisehg' – shengy

0

Utilisez simplement gitk. Faites un clic droit sur un commit ->mark this commit. Faites un clic droit sur un autre commit ->diff this -> marked commit.

+0

Cela ne fait pas non plus un répertoire diff, je ne peux voir les fichiers individuels dans mon difftool une fois en faisant un clic droit sur le fichier et sélectionnez 'external diff' – shengy

+0

où ai-je dit quelque chose sur un diff externe? Gitk lui-même diff tous les fichiers de votre worktree. – Chronial

+0

Je sais que le travail est fait par git, mais la vraie chose est mes collèges sont utilisés pour voir le différentiel côte à côte, pas le diff unie. – shengy

1

dans tortoisegit:

  • "git log" open
  • marque deux commits
  • rightclick
  • comparer ces révisions
+0

Maintenez la touche Maj enfoncée avant et pendant un clic droit sur "Afficher le reflet". Cela vous permet de comparer les versions locales et distantes. Je l'utilise pour voir ce que ma branche essaye de faire exactement par exemple. –