devdev / in the loop

Git: differenza tra fork e clone

Quando ci avviciniamo al mondo dell’open source, è fondamentale avere una conoscenza approfondita di git, perché in sostanza è l’unico strumento generalmente accettato per la gestione del codice fra gli sviluppatori, date le sue grandi doti di gestione, validazione e semplicità d’adozione. Quando navighiamo un repository Git ci troviamo spesso davanti ai termini fork e clone, e nonostante essi rappresentano concetti semplici, può succedere di fare un po’ di confusione.

Vediamoli quindi nel dettaglio per capire quale metodo è più adatto quando lavoriamo ad un progetto, sia privato che open source.

Fork

Un fork è la copia di un repository che ci permette di sperimentare qualsiasi cambiamento vogliamo senza modificare il progetto principale. Questo “fork” è diverso da “un clone” proprio per il fatto che esso mantiene una connessione con il progetto originario. In questo modo, il nostro fork è una specie di ponte tra il progetto da cui proviene e la nostra copia personale, sulla quale possiamo lavorare liberamente e magari contribuire proprio al progetto originario tramite una pull request.

Sulle varie piattaforme (come ad esempio GitHub), fare un fork è in genere molto semplice: troveremo un pulsante Fork nell’header del repository. Alla fine dell’operazione di forking, ci troveremo davanti la copia del progetto e potremo metterci subito mano.

Clone

Un clone è anch’esso la copia completa di un repository, ma la differenza principale con il fork è che esso è una copia “staccata”: non saremo poi in grado di integrare le nostre modifiche nel repository principale, tranne in alcuni casi nei quali ad esempio saremo invitati. Un clone è l’operazione più diffusa quando vogliamo utilizzare “il contenuto” (inteso come l’app, lo script, etc.) di quel repository, ma non vogliamo contribuire. Un esempio su tutti: potremmo scaricare WordPress direttamente facendo il clone dal repository originale ed utilizzarlo. Come per il fork, l’operazione è di solito ancora più semplice, troveremo il comando Clone oppure potremmo direttamente eseguirlo da console con git clone. Spesso un clone può farci da backup.

Questo articolo ti è stato utile?
Git – LETTURA 4 MINUTI Come creare un nuovo repository Git a partire da un ramo esistente (mantenendo la cronologia)
Spesso i nostri progetti prendono vie inaspettate e tortuose. Cambiano i requisiti, o semplicemente le idee, o ancora più semplicemente…
Git – LETTURA 4 MINUTI Come visualizzare l’anteprima di un git merge
Quando ci apprestiamo ad unire due rami (branch) di un repository git, potremmo aver bisogno di avere un’anteprima di cosa…
Git – LETTURA 4 MINUTI GitHub Free adesso permette di creare repository privati gratis
Se siete utenti GitHub ma non avete un piano a pagamento attivo, questa sarà una buona settimana! Storicamente GitHub ha sempre offerto…
Git – LETTURA 4 MINUTI Annullare ultimo commit in Git
Se sei interessato ad imparare Git, abbiamo una guida che fa al caso tuo. Oh no, presi dalla frenesia abbiamo…
Roba figa da
if (weekend) {
    relax();
}
la nostra newsletter, ogni tanto.