È meglio avviare una richiesta di pull o eseguire un commit di unione locale sul master?

6

Uso GitHub da un po 'di tempo ormai e di solito mi spingevo per i rami delle mie funzionalità e poi avviavo una richiesta di pull che io stesso ho unito. Ho trovato che mi ha aiutato a tenere traccia di dove ho unito le filiali.

Ma di recente ho letto sempre di più su come funziona Git e ho capito che posso usare i commessi di fusione per fare riferimento quando ho unito i rami.

Quindi, cosa dovrei fare quando unamo un ramo di una caratteristica in un master:
Esegui un merge-commit sul master e poi spingilo a monte OPPURE Premi il ramo locale e avvia una richiesta pull?

Ho letto Presentazione di Pull Requests per un team di 2 persone - unire le mie richieste? e Che cos'è il flusso di lavoro con 2 persone su un progetto e Devo aprire le richieste di pull da un ramo sul repository ufficiale o sulla mia fork? ma nessuna di loro sembrano rispondere a quello che sto cercando.

    
posta Ashhar Hasan 12.12.2015 - 18:00
fonte

2 risposte

8

meccanismo di git-merge: Usando git merge feature mentre su master unisce il ramo feature a master e produce un merge-commit (se il ramo non può essere inoltrato rapidamente) nella cronologia git. Per forzare la creazione di merge-commit , utilizza l'opzione --no-ff con merge .

Meccanismo Unisci Pull Request: Quando iniziamo una richiesta di pull su GitHub, viene creato un GitHub Issue in cui le persone possono parlare e discutere i commit nel PR prima di unirlo. Quando un PR è unito a GitHub, fa esattamente la stessa cosa di git merge feature .

Che cosa dovrei fare?
Quindi, per quanto riguarda la storia, non c'è differenza tra i due.
E per quanto riguarda il contributo, i tuoi contributori non dovranno fare nulla di diverso per le due situazioni. Sono uguali (meno la bella piccola chat).

Best Practices:
E non sono riuscito a trovare le migliori pratiche, ma la logica dice che i PR non sono molto utili se c'è una sola persona nel repository.

@lxrec e @amon mi hanno aiutato a raggiungere questa conclusione.

    
risposta data 12.12.2015 - 18:49
fonte
4

Come Ashhar ha detto, tecnicamente e storicamente non c'è differenza. Per i progetti con un piccolo team preferisco unire direttamente invece del passaggio extra di creazione di un PR. Tuttavia, quando una funzione necessita di revisione / feedback o quando si tratta di un WIP e più di una persona ci lavorerà, tendo ad aprire un PR e aggiungere un elenco di attività alla descrizione del PR.

Tieni presente che git merge potrebbe utilizzare l'avanzamento rapido se non ci sono modifiche al master, quindi potresti voler utilizzare git merge --no-ff . Tendo a non farlo.

Quindi, in sintesi, usa solo i PR quando hai bisogno di una discussione. Altrimenti, basta unire direttamente.

    
risposta data 13.12.2015 - 18:22
fonte

Leggi altre domande sui tag