Non esiste "il migliore". Ci sono solo opinioni.
Quindi ecco la mia opinione. Può sembrare folle, ma mi piacciono gli IDE, e mi piace il mio client Git incorporato nel mio IDE. Il mio IDE è IntelliJ/WebStorm e trovo che il client Git sia eccellente, proprio come il resto dell'IDE. Non ho mai sentito il bisogno di cercare altro.
Mentre altre persone stanno passando da uno strumento all'altro, io sto premendo command-k, scrivendo una descrizione di commit e commettendo/spingendo i file che IntelliJ ha già notato che ho cambiato o aggiunto. Oppure posso escluderne alcuni, o spostarli in un diverso changeset, o qualsiasi altra cosa. Prima di commettere effettivamente posso controllare rapidamente le differenze nella stessa finestra di dialogo. Oh sì, e posso anche ottenere l'analisi opzionale del codice, la riformattazione, l'ottimizzazione delle importazioni, ecc. prima del commit. Branching, merging, rebasing, tutti i tipi di diffing sono tutti lì, insieme ad una vista grafica, ecc.
Aspetta... ho detto che sono anche costretto ad usare Perforce, ma IntelliJ funziona in modo trasparente con esso come con Git, e tutti i comandi e le finestre di dialogo sono identici o simili? (ci sono ovviamente alcune piccole differenze di processo dovute ai diversi modelli).