Ze względu na niską wartość, używam commit
, aby zachować swoje codzienne migawki WIP. Tak więc moja historia commitów zawiera wiele snapshotów i kilka kluczowych commits wymieszanych razem.Najlepsza praktyka łączenia w NEXT commit w git rebase -i?
Zanim przejdę do przeniesienia mojej pracy do zdalnego repozytorium, mogę poczuć się jak czyszczenie mojej historii, aby zawierała tylko kluczowe zatwierdzenia, poprzez scalanie migawki, którą przechodzi, bezpośrednio po kluczowych zatwierdzeniach. Informacja o dacie kluczowego zatwierdzenia jest dla mnie ważna, ponieważ przypomina mi, kiedy i co zmieniłem.
Używanie poleceń squasha/fixup w git rebase -i
może być pomocne, ale łączą się w POPRZEDNIE zatwierdzenia, a ich daty autora nie są tym, czego chcę.
Ponowne zamawianie, a następnie zgniatanie często powoduje niepotrzebne konflikty, czego również chcę uniknąć.
So. Jaka jest najlepsza praktyka, aby zaspokoić moje pragnienie?
[Aktualizacja] 03/07/2016
Zainspirowany odpowiedź torek, w wymyśliłem rozwiązanie: użyć git rebase -i
jak zwykle docelową popełnić że chcę poprzednia zobowiązuje się do meldunku do edit
, a następnie wykonać git reset HEAD~n
gdzie n to liczba poprzednich komentarzy, które chcę połączyć. I zatwierdzić melded zmiany z:
% git commit --amend --date "$(grep DATE .git/rebase-merge/author-script | cut -f2 -d '=')"
potem dokończyć resztę pracy przez git rebase --continue
.
Jeśli chodzi o wyrażenie „codziennie zrzuty WIP”: I (i wiele innych) zaleca, aby [Commit Early] (//blog.codinghorror.com/check-in-early-check-in-often/), [Commit Często] (// sethrobertson.github.io/GitBestPractices/#commit). W produktywne dni często będę mieć * co najmniej * tuzin lub dwa zatwierdzenia. –
Tak, zgadzam się z tym, co mówi strona. Zrobiłem to w podobny sposób, zanim zacząłem pracować nad rozwojem zespołu. –