Progetto di biforcazione sul processo Github

23

C'è un progetto su Github che mi piace e voglio usare principalmente. Ci sono alcune cose che voglio fare in modo diverso / rimuovere ciò che non ha senso per ciò che voglio / ho bisogno. Anche io voglio aggiungere alcune cose.

A quanto ho capito, dovrei sborsare il progetto e posso apportare le modifiche che voglio e tornare alla mia forcella. Da lì, voglio anche occasionalmente inserire nella mia forcella le modifiche rispetto al progetto originale, in modo da ottenere le ultime correzioni di bug / funzionalità.

Sono fuori base su come penso che dovrebbe funzionare? Come porterebbe le modifiche dal progetto originale?

    
posta Mike Wills 19.06.2012 - 20:34
fonte

2 risposte

16

Crea la forchetta, quindi crea un ramo immediatamente.

Ora hai un master "non trattato" che può essere aggiornato in futuro per ottenere le ultime modifiche con git pull s.

Tieni il ramo locale senza spingere al remoto e puoi fare rebase s che farà quanto segue per te:

  • salva le tue modifiche
  • applica le ultime modifiche dal master al tuo ramo (quelle che provengono dall'aggiornamento dal remoto)
  • riapplica nuovamente le modifiche, in aggiunta al codice aggiornato dal master (o da un altro ramo originale).

Quando hai finito, rimettilo nel master (o in qualsiasi ramo da cui proveniva il fork iniziale) e poi invia la richiesta di pull per il proprietario attuale per farlo entrare.

Questo è un flusso di lavoro (o "forkflow") comunque, a quanto ho capito. Altri sono invitati a commentare o correggere o aggiungere ulteriori dettagli.

    
risposta data 19.06.2012 - 23:58
fonte
10

In pratica lo hai: una volta creato un fork, è il tuo piccolo sandbox.

Penso che la cosa principale che devi fare sia creare immediatamente un ramo dopo il bivio, in modo da mantenere la linea di sviluppo originale separata dalla tua. Che tu sviluppi in questo ramo o nel master è in gran parte una questione di gusto personale. L'unica cosa che mi impedirà di sviluppare in master è che è troppo facile fare un "git pull" e ottenere la cosa sbagliata.

    
risposta data 19.06.2012 - 20:58
fonte

Leggi altre domande sui tag