tl; dr: GitEye = UI più intuitiva, flusso di lavoro più veloce, altamente personalizzabile
Sono da molto tempo il poweruser di TortoiseHg Workbench e lo adoro, quindi naturalmente i miei criteri completamente supposti si basavano principalmente su di esso:
* 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
Ho testato le seguenti app:
- git-cola
- GitEye
- gitk
- git-gui
- qgit
- ridacchiare
- tig
- SmartGit
- gitg
- rabbitvcs
- GitKraken
- GitX
- git-dag
- Bazaar Explorer + bzr-git
- TortoiseHg + hggit (migliore interfaccia utente, hggit non funziona)
risultati
La maggior parte dei client GUI git testati sono completi ****, di seguito sono 2 dei migliori e 1 che non è così **** come altri.
Leggenda
- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)
1 ° posto: GitEye
UI più intuitiva, il flusso di lavoro più veloce, altamente personalizzabile
~ 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?]
Nota: se la vista File Git smette di funzionare su di te, usa la vista Git Staging simile.
2 ° posto: SmartGit
bellissimo file integrato diff. commettere non chiare, la storia nascosta, richiede una licenza
~ 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 ° posto: QGit
bella storia chiara, commettere UX disordinato, leggero, comandi personalizzati possono essere aggiunti
+ 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
Menzione d'onore: GitKraken
È ancora nelle sue fasi di sviluppo (1.5.1 manca ancora del supporto HiDPI), ma ottiene il lavoro di base. Ciò potrebbe facilmente competere con GitEye e SmartGit. Di sicuro è meglio di QGit.
Tutto il resto:
Sono deluso dal tipo di **** fatto passare come client git. Immagino che i loro autori pensino che sia più efficiente fare cose semplici quotidiane sulla riga di comando e hanno basato i loro clienti su quel flusso di lavoro inefficiente.
git mergetool
. Preferisco la GUI di fusione come mergetool.