2016-02-09 51 views
9

Un tipico workflow git per me è quello di clonare un repository remoto e usare git pull per tenerlo aggiornato. Non voglio unire commit quando tiro, quindi uso l'opzione --ff-only.Come configurare "git pull --ff-only" e "git merge --no-ff"

Realizzo anche filiali locali per funzionalità. Voglio conservare la cronologia del ramo, quindi quando unisco il ramo locale al mio clone locale, io uso l'opzione --no-ff.

Come posso configurare git per utilizzare queste opzioni di default? Attualmente la mia .gitconfig assomiglia a questo:

[merge] 
    ff = false 
[pull] 
    ff = only 

Tuttavia, git pull (che è davvero git fetch e git merge) sembra essere raccogliendo l'opzione di unione e quindi la creazione di merge.

risposta

8

Questo non dovrebbe essere il caso, secondo the git-config man page su pull.ff:

(...) Se è impostato su, Solo tali unioni fast-forward sono ammessi (equivalente a dare il --ff -solo opzione dalla riga di comando). Questa impostazione sostituisce merge.ff quando si estrae.

La configurazione pull.ff è stato introdotto in Git 2.x, quindi non funzionerà come previsto su Git 1.x - probabilmente raccogliere la configurazione merge.ff e l'uso che quando si fa un pull.

+1

Ha! Sapevo che questo ha funzionato per me a un certo punto. Recentemente ho reinstallato Linux Mint e ho completamente dimenticato di controllare la versione di git. Il repository "ufficiale" è ancora 1.9! –

+0

Per qualche motivo pull.ff non è elencato in completamento scheda ma funziona lo stesso. – sashoalm