GitHub vs Bitbucket: qual è quello giusto per il tuo team di sviluppo?

Pubblicato: 2019-04-10

Scegliere la giusta piattaforma di controllo del codice sorgente per il tuo team è una delle decisioni più importanti che dovrai prendere. Ci sono buone probabilità che tu scelga Git per il software di controllo della versione (VCS) stesso, ma la piattaforma in cui risiede il codice è ugualmente importante. Molte volte, si tratta di Bitbucket vs GitHub. Nel corso degli anni i due sono cresciuti forti comunità e basi di utenti. In questo post vogliamo dare un'occhiata a entrambe le piattaforme per vedere quale sarebbe meglio soddisfare le esigenze del tuo team di sviluppo.

GitHub vs Bitbucket: le basi

Se sei un principiante di Git, GitHub e Bitbucket, potresti dare un'occhiata alla nostra guida per principianti a Git. Ti guiderà attraverso i fondamenti e ti preparerà per capire cosa sta succedendo in questo articolo.

Se riduci il tutto alla differenza più elementare e fondamentale tra GitHub e Bitbucket, è questa: GitHub è focalizzato sul codice pubblico e Bitbucket è per il privato. Fondamentalmente, GitHub ha un'enorme comunità open source e Bitbucket tende ad avere principalmente utenti aziendali e aziendali.

Questo non vuol dire che non puoi avere un repository privato su GitHub (puoi). O che non puoi pubblicare il tuo codice pubblicamente su Bitbucket (di nuovo, puoi). Tuttavia, la maggior parte degli utenti non lo fa. Inoltre, anche le impostazioni predefinite sono impostate in questo modo: rispettivamente repository pubblici e privati.

Al di fuori di questa differenza, le due piattaforme funzionano in modo molto simile. Puoi creare e gestire repository tramite il sito Web o la riga di comando, accedere con l'autenticazione a due fattori (2FA), invitare collaboratori, aprire problemi e discussioni, creare/unire richieste pull e in generale gestire tutte le cose fondamentali di cui avresti bisogno da il sitoweb. Sono super simili in questo modo. Detto questo, approfondiamo le specifiche su ciascuna piattaforma in modo da poter prendere la decisione più informata possibile.

Bitbucket

GitHub contro Bitbucket

Poiché Bitbucket è un prodotto Atlassian (i creatori di Trello e di altre app), hai un'interfaccia chiara e chiara dal momento in cui accedi. Vedi immediatamente che si concentrano su team professionali come soluzione all-in-one per sviluppo software. Vediamo come.

1. Non solo Git

GitHub contro Bitbucket

GitHub, ovviamente, è un hub per il controllo della versione di git. BitBucket, d'altra parte, supporta più di git. Puoi anche tenere traccia dei tuoi repository in Mercurial, un altro popolare sistema di gestione del controllo delle versioni. Non supporta SVN, un altro sistema importante, ma almeno con Bitbucket puoi scegliere.

2. L'interfaccia

GitHub contro Bitbucket

L'utilizzo del sito Web di Bitbucket è semplicemente meraviglioso. È facile e semplice e sai sempre cosa sta succedendo. Il sito Web di GitHub funziona, ma non è sempre chiaro cosa devi fare per realizzare determinate cose. Questo è raramente il caso di Bitbucket. Una barra laterale ti dice chiaramente dove sei e cosa puoi fare. Nota, questo è solo il lato grafico del sito Web: entrambi utilizzano gli stessi comandi git quando accedi tramite riga di comando.

4. Client desktop

GitHub contro Bitbucket

Un'area che è sorprendentemente assente da Bitbucket di Atlassian è un client desktop (GitHub ne fa uno, però). Sebbene molti utenti utilizzino per impostazione predefinita l'interfaccia della riga di comando e il controllo preciso che offre sul controllo delle versioni del software, ci sono ancora molti a cui piace davvero la sensazione e l'interazione di un'app git. Se vai con Bitbucket, non ne otterrai uno di prima parte, ma piuttosto un programma open source chiamato Sourcetree.

Sourcetree è roba buona. Funziona, è fluido ed è gratuito. Atlassian potrebbe non averlo fatto, ma non importa. Indipendentemente da ciò, né il client di GitHub né Sourcetree si sentono abbastanza robusti come la CLI se vieni da quello. È un buon modo, tuttavia, per introdurre nuove persone a git e farle essere un po' meno intimidite.

5. Wiki e bacheche

Avere un wiki del progetto è incredibilmente utile. Non solo il tuo team può usarlo per le note interne durante lo sviluppo, ma può anche essere aperto al pubblico come fonte di documentazione post-rilascio. Con Bitbucket, ogni repository può avere un wiki. Tutto quello che devi fare è abilitarlo e puoi controllarlo esattamente come fai con il resto del repository.

GitHub contro Bitbucket

Inoltre, molti team di sviluppo utilizzano le schede Kanban per la gestione dei progetti. GitHub offre una scheda Schede per impostazione predefinita e Bitbucket no. Quello che fanno, tuttavia, è farti collegare il tuo account Trello a un repository, in modo da avere quel servizio disponibile nella dashboard del sito web. Incorpora qualsiasi scheda Trello che hai già, oppure puoi crearne una nuova.

GitHub contro Bitbucket

Atlassian ha anche un solido marketplace di app che puoi cercare per installare varie integrazioni per il tuo progetto. Potresti aver bisogno o meno di questo genere di cose, ma è bello sapere che c'è.

6. Permessi di filiale

E infine, i permessi di filiale. Con Bitbucket puoi scegliere chi può lavorare su ogni singolo ramo. Invece di concedere semplicemente a Karen l'accesso al repository, puoi concederle l'accesso a un solo ramo. In questo modo, viene rimossa la paura di una spinta accidentale del master. Questa funzionalità è enorme ed è standard con Bitbucket, anche nei loro piani gratuiti. Se hai un team enorme e hai bisogno di gestire funzionalità, correzioni di bug, rilasci, beta e diversi aspetti del progetto con mano delicata.

GitHub

GitHub contro Bitbucket

Passando a GitHub, dovremmo probabilmente ricordare che GitHub è il servizio con la quota di mercato di gran lunga maggiore. In effetti, è stato acquistato da Microsoft l'anno scorso, il che ha effettivamente fatto migrare le persone dalla piattaforma, principalmente a Bitbucket. Ma in quel momento, Microsoft non ha influenzato il lavoro quotidiano della maggior parte degli sviluppatori, che si tratti di codice privato, interno o di lavoro open source.

1. L'interfaccia

GitHub contro Bitbucket

Dato che abbiamo iniziato con l'interfaccia di Bitbucket, iniziamo allo stesso modo con GitHub. È funzionale e funziona. Che altro c'è da dire? Non è necessariamente carino, ma quello che gli manca nello stile, lo compensa in pura utilità. Con la maggior parte degli utenti di GitHub che lavorano tramite la riga di comando, l'estetica del sito Web non è davvero in prova. Ma lo usi per alcune cose abbastanza regolarmente, e funziona e non è mai abbastanza confuso, ma non è nemmeno esattamente semplice tutto il tempo.

2. Client desktop

GitHub contro Bitbucket

GitHub offre il proprio client desktop. In termini di estetica e facilità d'uso, il client è molto più in linea con l'interfaccia web di Bitbucket. Come sopra con Sourcetree, il client GitHub è ottimo per facilitare le persone a git a cui potrebbe non piacere la riga di comando, ma se sei un utente esperto o hai bisogno di un comando molto specifico che non è uno dei principali (pull, push, add , commit, checkout, ecc.), ci sono buone probabilità che uno dei due client sia carente. Detto questo, per quello che fa, il client GitHub è leggero e fa quello che dovrebbe fare.

3. Repo privati ​​gratuiti

In quello che era il punto di forza di Bitbucket, GitHub ora offre repository privati gratuiti illimitati. In precedenza, solo i repository pubblici potevano essere creati gratuitamente e quelli privati ​​erano riservati ai membri paganti. Ora, invece, puoi crearne quanti ne vuoi, totalmente gratis. Il problema, tuttavia, è che puoi avere solo 3 contributori al repository (senza contare te stesso). Quindi, se fai parte di una squadra numerosa, pagherai, a prescindere.

Ma per gli hobbisti, le persone che hanno bisogno di condividere il loro codice con qualcuno ma non possono essere pubblici, e per i progetti più piccoli, i repository gratuiti illimitati sono un'aggiunta straordinaria a GitHub che è stata un'assenza gravemente dolorosa fino a questa inclusione.

4. Wiki e bacheche

GitHub contro Bitbucket

Come accennato in precedenza, la proprietà di Trello da parte di Atlassian offre loro un leggero vantaggio essendo in grado di integrarsi direttamente con Bitbucket. GitHub, tuttavia, ha una soluzione Kanban integrata nella scheda Progetti. Ogni progetto che crei è la sua scheda e, sebbene GitHub non sia così ricco di funzionalità come Trello da molto tempo, qui possono verificarsi molta pianificazione e documentazione perché puoi utilizzare il markup per modellare tutto ciò di cui hai bisogno in ogni scheda.

GitHub contro Bitbucket

Un punto debole che GitHub ha rispetto a Bitbucket, tuttavia, è che i repository privati ​​non possono avere un wiki. Bene, riformuliamolo: i repository privati ​​gratuiti non possono avere un wiki . Se hai un repository pubblico gratuito, puoi avere un wiki. Se sei un membro pagante, i tuoi repository privati ​​possono avere accesso alla wiki. Anche se questo non è un problema per molte persone, può essere un po' fastidioso quando devi eseguire alcuni passaggi di hack per far funzionare il Readme, le schede di progetto e i problemi come documentazione.

5. Limite di archiviazione elevato

Diciamolo prima: git non è un'utilità di backup . Non usi git per l'archiviazione online o per i backup. È inefficiente per questo e impantana i server e i tuoi computer. Detto questo, tuttavia, quando ottieni un gran numero di commit, push e branch, il tuo repository può iniziare a raccogliere una massa seria.

Un vantaggio di GitHub è che non ti viene addebitato alcun costo per tale spazio di archiviazione. Anche con un piano gratuito. C'è un limite di 100 gigabyte sui repository GitHub, anche se raccomandano che sia inferiore a 1 GB (che molti di loro saranno). I caricamenti di file sono limitati a 100 MB per la riga di comando e 25 MB per i caricamenti web.

Bitbucket, tuttavia, consente agli utenti gratuiti solo 1 GB in totale. Invece di richiedere di mantenerlo al di sotto di 1 GB e di inviarti un'e-mail quando raggiungi 75 (che è una gamma molto ampia e una scelta un po' strana), Atlassian ti spinge verso i piani a pagamento a 1 + GB.

Ora, questo è 1 GB per repository , quindi puoi avere più repository gratuitamente in questo modo. Ma non devi preoccuparti di questo con GitHub. Entrambi offrono anche soluzioni per file di grandi dimensioni (Bitbucket è qui e GitHub è qui).

GitHub contro Bitbucket: il vincitore?

Non credo ce ne sia uno. Sebbene i servizi abbiano un aspetto assolutamente diverso e si rivolgono assolutamente a diversi dati demografici, otterrai un buon servizio e porterai a termine il tuo lavoro indipendentemente dal fatto che tu vada a Bitbucket vs GitHub.

Alla fine, non sbaglierai con la tua scelta. Se sei un piccolo team di sviluppo, entrambi funzioneranno quasi esattamente allo stesso modo per te. Ma, se non conosci git, Bitbucket è un po' più indulgente e facile da usare man mano che impari il flusso di lavoro. Se sei interessato allo sviluppo open source, GitHub è l'hub principale per questo.

In termini di soluzioni aziendali... è un gioco da ragazzi. I piani a pagamento sono abbastanza simili. È difficile fare qualsiasi tipo di raccomandazione su questo. Bitbucket è specializzato in clienti aziendali, offrendo una soluzione all-in-one attraverso la suite generale di Atlassian, ma GitHub è la principale piattaforma nel codice pubblico e open source, se la tua azienda è coinvolta in questo, potrebbe essere la strada da percorrere .

In realtà, nessuna delle due è una cattiva scelta per servire te e le tue esigenze di controllo del codice sorgente. Non puoi sbagliare con nessuno dei due, onestamente.

Quale piattaforma e software di controllo della versione preferite tu e il tuo team? Dicci perché nei commenti!

L'articolo presenta l'immagine di Teguh Jati Prasetyo / shutterstock.com