git merge z --no-ff i --squash
Używam sposobu zarządzania gałęziami w repo, jak opisano w:http://nvie.com/posts/a-successful-git-branching-model/
Zatem sekwencja poleceń, które powinienem użyć, byłaby następująca:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff mybranch
Jest jednak jedna rzecz, którą chciałbym zrobić inaczej: w niektórych przypadkach:
Chciałbym zachować wszystkie moje zobowiązania w moim dziale funkcji (mybranch
), ale połącz je razem (lub zgniecione) w jedną różnicę podczas łączeniadevelop
.
Tak myślę, że kolejność poleceń powinna być następująca:
git checkout mybranch
git pull --rebase origin develop
git checkout develop
git merge --no-ff --squash mybranch
Czy robiłbym coś złego, gdybym miał się połączyć--no-ff
z--squash
?
Jestem niezdecydowany, aby to wypróbować wynika z tego, jak „zgniatanie” i „zachowanie historii” są wymogami prostopadłymi - patrzZgniatanie wszystkich moich zobowiązań (w tym scaleń) w jedno zatwierdzenie bez zmiany historii
Moje uzasadnienie jest takie, że chcę zachować historię w jednym oddziale (mybranch
) i suqash na innej gałęzi (develop
) -> ponieważ te akcje są wykonywane w oddzielnych gałęziach, jest to OK.