tl; dr: GitEye = intuitivste Benutzeroberfläche, schnellster Workflow, hochgradig anpassbar
Ich bin ein langjähriger TortoiseHg Workbench-Poweruser und ich liebe es, daher beruhten meine vollständig durchdachten Kriterien größtenteils darauf:
* 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
Ich habe folgende Apps getestet:
- Git-Cola
- GitEye
- GITK
- Git-Gui
- QGit
- kichern
- tig
- SmartGit
- Gitg
- RabbitVCS
- GitKraken
- GitX
- Schwuchtel
- Basar Explorer + bzr-git
- TortoiseHg + hggit (beste Benutzeroberfläche, hggit funktioniert nicht)
Ergebnisse
Die meisten der getesteten Git-GUI-Clients sind vollständig ****, unten sind 2 der besten und 1, die nicht so **** sind wie andere.
Legende
- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)
1. Platz: GitEye
Die intuitivste Benutzeroberfläche, der schnellste Workflow, hochgradig anpassbar
~ 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?]
Hinweis: Wenn die Ansicht "Git-Dateien" nicht mehr funktioniert, verwenden Sie die ähnliche Ansicht "Git-Staging".
2. Platz: SmartGit
schöne integrierte Datei diff. Unklare, versteckte Geschichte zu begehen, erfordert eine Lizenz
~ 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]
3. Platz: QGit
schöne klare Geschichte, begehen Sie UX chaotisch, leichte, benutzerdefinierte Befehle können hinzugefügt werden
+ 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
Lobende Erwähnung: GitKraken
Es befindet sich noch in der Entwicklungsphase (in 1.5.1 fehlt noch die HiDPI-Unterstützung), es werden jedoch grundlegende Arbeiten ausgeführt. Dies könnte leicht mit GitEye und SmartGit konkurrieren. Es ist sicher besser als QGit.
Der ganze Rest:
Ich bin enttäuscht von der Art von ****, die man als Git-Kunde machen kann. Ich denke, ihre Autoren halten es für effizienter, alltägliche einfache Dinge auf der Kommandozeile zu erledigen, und sie haben ihre Kunden auf diesen ineffizienten Workflow gestützt.
git mergetool
. Ich bevorzuge die verschmolzene GUI als Mergetool.