2016-02-09 65 views
9

Typowym przepływem pracy git jest sklonowanie zdalnego repozytorium i użycie polecenia git pull, aby było ono aktualne. Nie chcę scalania po pobraniu, więc używam opcji --ff-only.Jak skonfigurować "git pull --ff-only" i "git merge --no-ff"

Wykonuję również lokalne oddziały do ​​pracy z funkcjami. Chcę zachować historię gałęzi, więc kiedy scalę lokalną gałąź z moim lokalnym klonem, używam opcji --no-ff.

Jak skonfigurować git, aby domyślnie korzystać z tych opcji? Obecnie mój .gitconfig wygląda następująco:

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

jednak ciągnąć git (co jest naprawdę git pobrać i git merge) wydaje się być podniesienie opcję scalania, a zatem tworzenie scalić.

Odpowiedz

8

To nie powinno być w przypadku, zgodnie z the git-config man page na pull.ff:

(...) Kiedy ustawiony tylko, tylko takie fast-forward scala są akceptowane (odpowiednik dając --ff - tylko opcja z wiersza poleceń). To ustawienie zastępuje plik merge.ff podczas wyciągania.

Konfiguracja pull.ff został wprowadzony w Git 2.x, więc to nie będzie działać zgodnie z oczekiwaniami na Git 1.x - będzie to prawdopodobnie odebrać konfigurację merge.ff i używać, gdy robi się ciągnąć.

+1

Ha! Wiedziałem, że to działa dla mnie w pewnym momencie. Niedawno ponownie zainstalowałem Linux Mint i zupełnie zapomniałem sprawdzić wersję git. "Oficjalne" repozytorium nadal działa 1.9! –

+0

Z jakiegoś powodu pull.ff nie znajduje się na liście zakładek, ale działa tak samo. – sashoalm