Polityka firmy polega na stosowaniu --no-ff
do zatwierdzeń scalania. Osobiście lubię dostosowywać komunikaty dziennika scalania, więc używam --no-commit
. Poza tym lubię faktycznie kompilować i testować, zanim zwolnię zatwierdzenie.
Jak ustawić --no-ff
i --no-commit
ustawić wartość domyślną dla wszystkich oddziałów?
(i nauczyłem się przez lata, odkąd o to zapytałem, prawie zawsze jestem zadowolony z zatwierdzenia, więc łatwiej jest zezwolić mu na domyślne zatwierdzenie i pod warunkiem, że poprawię lub w inny sposób naprawię rzeczy przed wykonaniem push, wszystko dobrze...)
Odpowiedzi:
Umieść to w $ HOME / .gitconfig:
Możesz użyć git-config, aby to zrobić:
źródło
branch.master.mergeoptions="--no-ff"
, albomerge.ff="no"
(patrz odpowiedź poniżej)Aby
--no-ff --no-commit
ustawić domyślne zachowanie scalania, ustaw opcje nano
używanie:Jednak problem polega na tym, że
git pull
=git fetch
+git merge
. Więc za każdym razem, gdy pobierasz ze zdalnego serwera, tworzysz brzydkie zatwierdzenie scalające, gdy uzasadnione byłoby proste przewijanie do przodu. Aby rozwiązać ten problem, należy ustawićpull.ff
nayes
:źródło
merge.ff
zamiast tego używasz, to nie robi tego - wpływa tylko na jawne scalenia, podczas gdy ciągnięcia nadal wykonują pożądane szybkie przewijanie do przodu.merge.ff = no
,git pull
tworzy komendy scalające.git pull --rebase
( git-scm.com/docs/git-pull ) lub skonfigurujbranch.autosetuprebase
( git-scm.com/docs/git-config.html )pull.ff = yes
Od wersji 1.7.6 gita powinieneś używać
„wymuszać” używanie
--no-ff
w każdym scalaniu.Zachowanie domyślne to
I z
odmówi połączeń bez przyspieszania do przodu
źródło
Zgodnie z instrukcją , powinieneś użyć
aby ustawić domyślnie opcję no-fast-forward dla wszystkich gałęzi za pomocą narzędzia git-config.
źródło