2014-04-15 13 views
5

Sui servizi che offrono repository Git cloud, trovo sempre richieste di unione. Qual è il suo scopo? Chi avrebbe dovuto crearlo?Che cos'è una richiesta di unione?

Inoltre, qual è + il ciclo di vita di una richiesta di unione? Qualcuno lo crea e poi - quali cicli dovrebbe passare?

risposta

5

Credo che tu ti stia riferendo alle richieste di pull (PR) che tu inserisci nel tuo ramo principale. Le richieste pull sono il modo standard di persone che hanno escluso (biforcato) il codice per poi eseguire il commit al ramo principale. Generalmente un PR dovrebbe risolvere un bug o aggiungere una funzionalità. Solitamente ciò viene ottenuto utilizzando i branch delle funzionalità sul codice biforcuto e quindi creando una richiesta pull su quel ramo quando la funzionalità è completata. Questo rende la fusione molto più semplice e significa che se lavori su più funzionalità e una viene rifiutata ma l'altra è accettata, le loro filiali non entrano in collisione.

Quindi per rispondere alla tua domanda su chi dovrebbe crearli, di solito sono le persone che hanno biforcato il tuo codice. Questo potrebbe anche essere persone nel tuo team di sviluppo, se è così che scegli di lavorare. L'area principale in cui funziona è con progetti pubblici open source. Ad esempio, openssl ha un github pubblico che chiunque può biforcare, e quindi se qualcuno volesse aggiungere una funzione o correggere un bug, lo farebbe: fork, branch, commit, push e submit un PR.

Una volta creato un PR, il ciclo di vita necessario dipende da voi. Non è predefinito In generale, il minimo che devi fare è: decidi se il bug o la funzione è utile, controlla il codice per assicurarti che faccia quello che dice e sia scritto bene e soddisfi tutti gli standard di codifica stabiliti per il tuo progetto e, se è buono, accetta e unirlo.

È possibile rendere il ciclo di vita più complicato facendolo passare a un ramo di sviluppo per essere testato dai tester con altre funzionalità di sviluppo prima di essere unito al master ma in realtà è compito dell'utente trovare un flusso di lavoro che funzioni per il progetto .

+1

Solo una nota: le richieste di pull possono richiedere la fusione del codice in qualsiasi ramo, non solo il ramo principale. (Nulla è particolarmente speciale nel master in git.) Ad esempio, potrei inviare una richiesta pull per correggere un bug in un ramo di rilascio; allo stesso modo, potrei inviare una richiesta di pull per correggere un bug in un branch di funzionalità. – Thanatos

4

La richiesta di unione e la richiesta di pull si riferiscono essenzialmente alla stessa cosa. Strumenti come GitHub e Bitbucket scelgono il nome richiesta pull poiché la prima azione manuale sarebbe stata quella di estrarre il ramo della funzione. Strumenti come GitLab e Gitorious scelgono il nome richiesta di fusione poiché è l'azione finale richiesta all'assegnatario.

Le richieste di pull/merge vengono create se si lavora in un ramo di funzionalità e si desidera unire le modifiche nel ramo principale (ad esempio ramo principale). Le richieste di unione funge da strumento di revisione del codice e se il codice rivela mancanze/problemi, chiunque (in genere altri sviluppatori) può commettere e inviare una correzione.

ciclo

di vita: Si crea un ramo, risolvere qualche problema o aggiungere una funzionalità, creare un pull/merge richiesta, poi si assegna a qualcuno, lui/lei rivedrà il fix e può accettare/rifiutare l'attrazione/merge richiesta.

Si noti che una richiesta di unione/pull non deve essere confusa con il comando "git merge" o "git pull".

Problemi correlati