Perché le persone eseguono il fork dei repository su GitHub? [chiuso]


110

Ho notato che molti account GitHub hanno solo repository biforcuti da altri account. Inoltre, le persone che lo fanno di solito non danno alcun contributo ai repository biforcati.

Ho sentito parlare di persone che collezionano francobolli e conchiglie, ma perché qualcuno dovrebbe voler collezionare archivi? Personalmente, farei il fork di un repository solo se volessi apportare alcune modifiche ad esso.


84
vogliono assicurarsi di avere un backup stabile nel caso in cui il proprietario del progetto elimini i suoi repository e scompaiano
maniaco del cricchetto

9
Semplicemente perché è così che funzionano le richieste pull in GitHub (e perché le persone sono un po 'felici della forchetta e poi se ne dimenticano a volte, o abbandonano la loro idea di progetto e dimenticano di sbarazzarsi della forchetta)
haylem,

2
solo un commento, a quanto ho capito, usano come "backup" del codice, ma dimenticano (o non sanno) che gli aggiornamenti del repository non influiscono sulle "forcelle", quando dovrebbero fare il fork giusto (per il backup) e "Star" il repository per sapere quando eseguire un "re-fork", in altre parole, pensano che "fork" sia quasi la stessa cosa di "Star" e inconsapevole mantiene un codice obsoleto.
Guilherme Nascimento

1
Perché hanno sentito che avere un Github è sufficiente per essere assunti ad una startup a caldo.
Gaius,

1
Ecco un post sul danno del bombardamento
gavenkoa

Risposte:


69

Nella nostra linea di lavoro tendiamo a cercare motivi tecnici, ma a mio avviso il motivo principale non è tecnico. Se guardi la Guida di GitHub o altri tutorial di GitHub, il fork di un repository è uno dei passaggi principali per come "fai" GitHub.

Quando le persone stanno imparando e valutando GitHub, quasi tutti i tutorial là fuori diranno loro di borsare un repo come parte di quel processo di apprendimento. Poiché lo scopo principale di GitHub è di contribuire, molte persone che lavorano attraverso i tutorial standard non si rendono conto se si desidera solo un clone di sola lettura che non è necessario eseguire prima un fork.


42
Sulla falsariga di motivi non tecnici: ho cliccato più volte sul pulsante 'fork' sperando di vedere chi ha modificato il repository, solo per scoprire che l'ho modificato. Ops! Non sono sicuro che altri abbiano fatto lo stesso.
gdw2,

53
@gdw: causandoti di esclamare "Oh, forchetta!"
Ben Jackson,

1
Ricordo quando ho appreso per la prima volta di git e Github, ho fatto alcuni fork proprio perché guide e tutorial sembravano proporlo come il modo per ottenere la tua copia del codice sul tuo computer.
rmac,

Usiamo GitLab al lavoro, quindi conosco bene la differenza tra clone e fork. Sono anche dell'opinione che non sia necessario effettuare il fork se non si desidera inoltrare una richiesta pull (unione per GitLab).
cst1992,

3
@Jesse, va bene fare, ma di solito non è necessario in quel caso. Una società potrebbe farlo per il codice da cui dipendono per assicurarsi che l'originale non scompaia improvvisamente. Se tutto ciò che vuoi fare è compilare dal sorgente, un clone è più semplice.
Karl Bielefeldt,

101

Come indicato nella domanda, le persone eseguono il fork dei repository quando desiderano apportare una modifica al codice, poiché non si ha accesso in scrittura al repository originale (a meno che non sia stato aggiunto come collaboratore dal proprietario del repository).

Nel repository biforcato hanno accesso in scrittura e possono inviare modifiche. Possono persino contribuire al repository originale usando le richieste pull .

Penso che ci siano diversi motivi per cui le persone fork i repository ma non li cambiano:

  • potrebbero fork un repository che sembra bello, semplicemente fork (perché è facile (solo un clic)) e vogliono fare una modifica in seguito (e quindi probabilmente dimenticarlo / non hanno avuto il tempo di farlo)
  • eseguono il fork di un repository per apportare una modifica e poi scoprono che la modifica non è necessaria e dimenticano di eliminare il proprio repository
  • potrebbero fork un repository perché uno dei progetti dipende da un altro repository (forse tramite sottomoduli) e vogliono il controllo totale sul repository utilizzato come dipendenza (i proprietari del repository originale potrebbero decidere di passare da github a google code ecc. )
  • potrebbero semplicemente dimenticare di spingere gli impegni

5
Quando non stai usando Github, stai seguendo il percorso della vecchia scuola e stai creando una copia clonata locale del progetto in modo da poterlo modificare. Il fork di github ti dà accesso alle richieste pull che sono preferite da molti progetti. Se fai parte di un altro progetto, finirai per creare patch e inviarle per la revisione.
Rudolf Olah,

È un semplice processo in un solo passaggio per configurare un ramo di tracciamento remoto. Chiunque abbia provato a contribuire a un repository git al di fuori di GitHub sa quanto possa essere noioso. Inoltre, se l'autore originale va in AFK, puoi seguire il grafico di sviluppo per trovare forcelle che sono ancora attivamente sviluppate. Speriamo che impedirà a GitHub di degenerare in una terra desolata di progetti morti allo stesso modo di SourceForge.
Evan Plaice,

Che cosa succede se si fork un progetto ma non si apportano modifiche. Lo considererebbe illegale?
Jesse,

@Jesse Tutti i repository pubblici su GitHub dovrebbero avere una licenza Open Source (ovvero i loro Termini di servizio) e quindi non è affatto un problema. Soprattutto quando non si apportano modifiche.
MarcDefiant,

28

Una possibile ragione: hanno un codice in esecuzione che dipende da quei progetti e il loro processo di compilazione comporta l'estrazione delle dipendenze da Github. Avere la forcella li protegge dalle rotture. Per i progetti che non contrassegnano le versioni, questo è il modo più semplice per raggiungere questo obiettivo.


3
Possono correggere il numero di commit o la versione pubblicata della versione di rilascio di un'app.
Roman M. Koss,

26

L'intero punto di Github è il "codice sociale" .

Personalmente, fork fork repository quando:

  • Voglio fare un cambiamento.
  • Penso che il progetto sia interessante e potrebbe voler usarlo in futuro, ma non ho un modo più semplice per salvarlo per il dispositivo che sto attualmente utilizzando.
  • Voglio usare tutto o parte del codice in quel repository come punto di partenza per il mio progetto.

Ora ho sentito parlare di persone che collezionano francobolli e conchiglie, ma perché qualcuno dovrebbe voler collezionare archivi?

Perchè no?

Non c'è nulla (a cui riesco a pensare) che possa andare storto dal deposito dei repository per piacere personale. Onestamente, tengo una cartella di progetti interessanti che vedo su Github e in altri luoghi semplicemente a scopo di ispirazione, e in parte perché sono un geek. Capisco che non devo forzare il progetto per leggere il codice, ma potrei davvero volerlo modificare in futuro.

Ora inizia a biforcarti.


9
+1 per "Perché no?" sezione.
Llepwryd,

I miei 2 centesimi aggiuntivi sul "Perché no?" sezione: La mia abitudine è di fare sempre "git push" dopo aver finito di lavorare su una funzione; ha quella sensazione soddisfacente di QED per me (che non provo quando scrivo il nome del ramo e del ramo). Quindi ogni volta che c'è anche la minima possibilità che io possa voler fare delle modifiche al repository, preferirei biforcarlo, invece di dover successivamente cambiare il repository "origin" predefinito.
yoniLavi,

1
Penso che "Perché no?" la sezione descrive come funziona "Star" ...
TWiStErRob

2
Perché non dargli solo una stella per salvarla per una visione successiva?
amico

2
Quando un progetto è interessante, vorrei usare una stella. Concordo però con il resto.
Roman M. Koss,

1

Ho un sacco di repository che potrei voler usare il codice, o se è un progetto che mi interessa. Quando voglio tornare e dare un'occhiata al codice in un secondo momento, è più facile trovare se è elencato sotto il mio repository. Non devo cercare su google o cercare di ricordare quale fosse esattamente il nome o pensare "dove ho visto di nuovo quel repository su foo?" Se è tra i miei repository è più facile ricordare queste cose.


Nota, potresti ottenere lo stesso interpretando il repo - non c'è bisogno di sborsare per quello.
valiano,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.