Naprawdę nie mogę sobie wyobrazić czasu, w którym wolałbym git merge
zamiast tego git rebase
i nie chcę, aby pojawił się zatwierdzony. Czy jest jakiś sposób, aby skonfigurować git, aby domyślnie wyłączał szybkie przekazywanie? Fakt, że istnieje --ff
opcja, wydaje się sugerować, że istnieje sposób, ale nie mogę tego znaleźć w dokumentacji.
263
merge
Cały czas używam dla oddziałów, gdy nie wykonałem żadnych zobowiązań ze swojego pilota, aby je szybko przewinąć. Wydaje się to najprostszym i najbezpieczniejszym sposobem na zrobienie tego. Jestem ciekawy, oczywiście masz przypadek użycia. Dlaczego miałbyś kiedykolwiek chcieć utworzyć zatwierdzenie scalania, gdy po jednej stronie oddziału nie ma żadnych zatwierdzeń?Odpowiedzi:
Tak jest
--no-ff
. Możesz skonfigurować opcje scalania według gałęzi, npdodaje następujące elementy do
$(REPO)/.git/config
pliku:Przypis: mówiąc o moim doświadczeniu, w końcu stwierdziłem, że szybkie przejście do przodu i wyłączenie było bardzo pomocne dla początkujących użytkowników - jednak gdy wyczucie przepływów pracy i koncepcji zacznie się w tobie zapadać, zdecydowanie chcesz uniknąć rozmazania wykresu logicznego z mnóstwem bezcelowych „scalonych” zdalne ..blarf 'typu commits.
Przypis 2, dekadę później: inne odpowiedzi poniżej zapewniają bardziej nowoczesne opcje konfiguracji, ale tak naprawdę prawdopodobnie chcesz pozostać przy ustawieniach domyślnych (tj. W miarę możliwości szybko przewijać do przodu) w tym dniu i wieku, ponieważ puste łączenie-zatwierdzanie naprawdę tylko sprawia, że historia jest trudniejsza do uzasadnienia.
źródło
git pull
jestgit fetch
+git merge
.git merge --no-ff (branchname)
? I chcęgit pull
funkcjonować jak zawsze?Wygląda na to, że w wątku wciąż pozostaje pytanie: jak to zrobić globalnie (tj. Dla wszystkich gałęzi)? Do rejestrów możemy użyć:
... aby zastosować ją do wszystkich oddziałów w bieżącym repozytorium. Aby zastosować go do wszystkich oddziałów we wszystkich repozytoriach, w których ktoś nie uruchomił go bez
--global
opcji (ustawienia lokalne zastępują globalne), uruchom to:Z dokumentacji :
źródło
merge.ff
wprowadzono w Git 1.7.6. Nie działa w starszych wersjach.puff = "pull --ff --ff-only"
Czytając wątek odpowiedzi, skorzystałem z następujących dwóch opcji
Tylko luźno spokrewnione odkryłem, że to ustawienie pozwala uniknąć problemów podczas ściągania
źródło