2012-04-03 12 views
39

Il pulsante "Questa richiesta di pull può essere unito automaticamente [Merge pull request]" in github è ottimo, tranne che crea bolle di unione.Unione automatica di richieste pull su Github senza la bolla di fusione

C'è un modo per utilizzare questo pulsante/funzionalità in github senza creare bolle di unione?

+0

Non sono sicuro di aver mai sentito il termine "bolla" prima (in relazione a git); Suppongo che significhi "commettere"? – chharvey

+0

@chharvey Per favore google "unisci bolla". :) – Marco

risposta

3

E .. stato risolto!

Vedi GitHub's blog on squashing your merge commits

Se si va alle impostazioni per il repository, vedrai una sezione "Merge Button" (in Opzioni). Avrà 2 pulsanti disponibili:

accettano merge impegna
Aggiungi tutti i commit dal ramo testa al ramo base con un merge commit.

e

Consenti zucca fusione
combinare tutti i commit dal ramo testa in un unico commit nel ramo base.

Se deselezionate la prima opzione (e lasciato l'Consenti zucca fusione controllato), PR "fonde" si tradurrà in rebase e zucche.

+9

Tranne che lo squash non è equivalente a rebase + forward-forward merge nel caso in cui si abbiano diversi commit che si desidera mantenere separati ... –

+0

@FlorentGuillaume Hai assolutamente ragione! Sfortunatamente, questo non ha nulla a che fare con l'evitare una bolla di fusione o meno. ; D – Marco

+2

Sto solo dicendo che * Allow squash merging * ha (ovvio) effetti collaterali oltre a evitare le bolle di fusione. –

40

No.

Il git blog dice utilizzando questo pulsante si ottiene sempre un merge --no-ff (senza merge avanzamento rapido).

Dovreste fare una fusione manuale se non si desidera unire le bolle:

git checkout master 
git remote add cameronmcefee git://github.com/cameronmcefee/Spoon-Knife.git 
git fetch cameronmcefee 
git merge cameronmcefee/my-branch 
git push origin master 
+1

È possibile impostare il repository per recuperare le richieste di pull senza aggiungere un telecomando: https://help.github.com/articles/checking-out-pull-requests-locally –

+2

abbiamo fatto l'automazione semplice per eseguire l'unione veloce su github https://github.com/checkstyle/checkstyle/blob/master/fast-forward-merge.sh –

+0

Qual è la ragione per '--no-ff' in questo caso? – gvlasov

Problemi correlati