2012-06-16 6 views

risposta

16

Esistono diversi flussi di lavoro che è possibile utilizzare qui. Alcuni esempi sono:

  1. Commento alla richiesta di pull e Bob ha apportato alcune modifiche. Vedi Pull Request Discussion per maggiori informazioni.

  2. Unire la richiesta di pull su un diverso ramo, quindi apportare le modifiche prima di unire al master. È necessario farlo dalla riga di comando; vedere Merging a Pull Request per istruzioni dettagliate.

  3. Modificare la patch prima di applicarla con git am. Vedi Patch and Apply. Questa è probabilmente l'opzione più flessibile, ma anche la più manuale.

    git checkout master 
    curl http://github.com/<username>/<project_name>/pull/<patch_number>.patch 
    sensible-editor <patchfile> 
    git am <patchfile> 
    git push origin master 
    
+0

Non ideale, ma funziona, mi piace particolarmente l'opzione 1. Con l'opzione 3, mi prendo il merito dei commit di Bob, giusto? –

+0

La domanda successiva è stata spostata qui: http://stackoverflow.com/questions/11066980/who-gets-credit-for-a-hand-edited-patch-file –

+0

Per modifiche più coinvolgenti, non è necessario modificare la patch a mano. Dopo aver applicato la patch con 'git am' puoi modificare direttamente i file pronti contro termine e poi commetterli con il flag' --amend'. – Pete

2

si può solo tirare da suo ramo sul repo locale (non all'interno della gui github)

# make same work-in-progress branch and check it out 
$ git checkout -b WIP 

# pull his changes into WIP 
$ git pull https://github.com/... master 

e quindi senza pietà passare da lì.

L'altra opzione sarebbe quella di utilizzare il sistema di commenti di github per convincerlo a cambiare la sua patchset (in questo modo potrebbe anche mantenere il credito dopo l'unione).

+7

Non esiste un modo in cui entrambi possiamo mantenere il credito? un modo in modo che i suoi e i miei commit appaiano elencati sotto la richiesta pull ... –

+0

Se commetti e poi unisci i suoi commit, non tutti i commit vengono mantenuti da una prospettiva di credito? – gregturn

+0

@gregturn: se si modifica un commit, l'autore viene modificato, ma rimane il valore originale se si seleziona semplicemente un commit. –

2

Una soluzione è quella di fare una PR in Bob/master contenente le revisioni. Bob può unire il tuo PR in Bob/master; quando unisci il PR di Bob in A/master, conterrà i commit di Bob e i tuoi commit.

È possibile creare un PR da qualsiasi bivio/ramo a qualsiasi altra forcella/ramo. Quindi, se Bob invia un PR da Bob/feature, basta creare un PR in Bob/feature.