tl; dr: GitEye = UI paling intuitif, alur kerja tercepat, sangat dapat disesuaikan
Saya sudah lama menjadi pengguna TortoiseHg Workbench dan saya menyukainya, jadi tentu saja kriteria saya yang sepenuhnya beralasan sebagian besar didasarkan pada itu:
* 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
Saya menguji aplikasi berikut:
- git-cola
- GitEye
- GITK
- git-gui
- QGit
- cekikikan
- cekcok
- SmartGit
- gitg
- RabbitVCS
- GitKraken
- GitX
- git-dag
- Bazaar Explorer + bzr-git
- TortoiseHg + hggit (UI terbaik, hggit tidak berfungsi)
Hasil
Sebagian besar klien GUI Git yang diuji telah selesai ****, di bawah ini adalah 2 yang terbaik dan 1 yang tidak **** seperti yang lainnya.
Legenda
- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)
Posisi Pertama: GitEye
UI paling intuitif, alur kerja tercepat, sangat dapat disesuaikan
~ 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?]
Catatan: jika tampilan File Git berhenti bekerja pada Anda, maka gunakan tampilan Git Staging yang serupa.
Posisi Kedua: SmartGit
diff file terintegrasi yang indah. melakukan tidak jelas, sejarah disembunyikan, memerlukan lisensi
~ 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]
Posisi Ketiga: QGit
riwayat jelas yang indah, komit UX berantakan, ringan, perintah khusus dapat ditambahkan
+ 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
Sebutan terhormat: GitKraken
Ini masih dalam tahap pengembangan (1.5.1 masih hilang dukungan HiDPI), tetapi menyelesaikan pekerjaan dasar. Ini bisa dengan mudah bersaing dengan GitEye dan SmartGit. Ini lebih baik daripada QGit.
Sisanya:
Saya kecewa dengan jenis **** yang dibuat untuk lulus sebagai klien git. Saya kira penulis mereka berpikir itu lebih efisien untuk melakukan hal-hal sederhana sehari-hari pada baris perintah dan mereka mendasarkan klien mereka pada alur kerja yang tidak efisien.
git mergetool
. Saya lebih suka GUI berbaur sebagai mergetool.