tl; dr: GitEye = interface utilisateur la plus intuitive, flux de travail le plus rapide, hautement personnalisable
Je suis un utilisateur chevronné de TortoiseHg Workbench et j'adore ça, donc naturellement mes critères complètement fondés étaient principalement basés sur cela:
* full history visible in main window
* beautiful tree (DAG), branches CLEARLY separated
* current branch clearly visible in history
* superclear list of changed/added files (list + diff detail)
* each changed/added file can be committed separately (or in groups)
* current branch clearly visible while committing
* clear push/pull etc buttons
* shelve = stash {not to be confused with patches}
* revert
* graft = cherry pick
* max git features
* HiDPI support
* all changes become visible on refresh
* refresh shortcut
J'ai testé les applications suivantes:
- git-cola
- GitEye
- GITK
- git-gui
- QGit
- Pouffer de rire
- tig
- SmartGit
- gitg
- RabbitVCS
- GitKraken
- GitX
- git-dag
- Explorateur de bazar + bzr-git
- TortoiseHg + hggit (meilleure interface utilisateur, hggit ne fonctionne pas)
Résultats
La plupart des clients GUI git testés sont complets ****, voici 2 des meilleurs et 1 qui n'est pas aussi **** que les autres.
Légende
- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)
1ère place: GitEye
interface utilisateur la plus intuitive, le flux de travail le plus rapide, hautement personnalisable
~ full history visible in main window [in a separate tab, same UI pattern facilitates looking at the history of separate files]
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
+ superclear list of changed/added files (list + diff detail)
+ each changed/added file can be committed separately
+ current branch clearly visible while committing
+ clear push/pull etc buttons
+ shelve = stash [Stashes clearly visible in sidepane]
+ revert
+ graft = cherry pick
+ max git features
~ HiDPI support
+ all changes become visible on refresh
- refresh shortcut [you can set one, but it wont work. bug?]
Remarque: si la vue Git Files cesse de fonctionner sur vous, utilisez la vue Git Staging similaire.
2e place: SmartGit
beau fichier intégré diff. engagement peu clair, historique caché, nécessite une licence
~ full history visible in main window [separate window, I found myself constantly confusing both windows]
- beautiful tree (DAG), branches CLEARLY separated
- current branch clearly visible in history
+ superclear list of changed/added files (list + diff detail)
~ each changed/added file can be committed separately [UI not clear enough]
- current branch clearly visible while committing
+ clear push/pull etc buttons
+ shelve = stash
+ revert
+ graft = cherry pick
+ max git features
+ HiDPI support
+ all changes become visible on refresh [refreshes automatically]
+ refresh shortcut [refreshes automatically]
3e place: QGit
belle histoire claire, commit UX désordonné, léger, des commandes personnalisées peuvent être ajoutées
+ full history visible in main window
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
~ superclear list of changed/added files (list + diff detail) [doesn't show new files in main window]
- each changed/added file can be committed separately
- current branch clearly visible while committing
~ clear push/pull etc buttons [could be added via custom commands]
- shelve = stash
- revert
- graft = cherry pick
- max git features
+ HiDPI support
~ all changes become visible on refresh [except for new files]
+ refresh shortcut
Mention honorable: GitKraken
Il est encore dans ses phases de développement (1.5.1 n'a toujours pas de support HiDPI), mais fait le travail de base. Cela pourrait facilement rivaliser avec GitEye et SmartGit. C'est mieux que QGit à coup sûr.
Tout le reste:
Je suis déçu par le type de **** fait pour passer pour un client git. Je suppose que leurs auteurs pensent qu'il est plus efficace de faire des choses simples au quotidien sur la ligne de commande et ils ont basé leurs clients sur ce flux de travail inefficace.
git mergetool
. Je préfère l'interface graphique de fusion comme outil de fusion.