Nie będę archiwizować oddziałów. Innymi słowy, gałęzie same się archiwizują. To, czego potrzebujesz, to zapewnienie wiarygodnych informacji dla archeologów. Niezawodny w tym, że pomagają w codziennym rozwoju i nie stanowią dodatkowego kroku w procesie wykonywania pracy. Oznacza to, że nie wierzę, że ludzie będą pamiętać o dodaniu znacznika, gdy skończą z odgałęzieniem.
Oto dwa proste kroki, które znacznie ułatwią rozwój archeologii i.
- Link each task branch with an associated issue in the issue tracker using a simple naming convention.
- Zawsze używaj
git merge --no-ff
do łączenia gałęzi zadań; chcesz to zatwierdzenie scalenia i bańki historii, nawet dla jednego zatwierdzenia.
To wszystko. Czemu? Ponieważ jako archeolog kodowy, rzadko zaczynam od chęci dowiedzenia się, jaka praca została wykonana w oddziale. Zdecydowanie częściej
dlatego w całym tym wrzeszczącym dziewięciu piekłach jest kod napisany w ten sposób ?!
Potrzebuję zmienić kod, ale ma on kilka dziwnych funkcji i muszę je rozwiązać, aby uniknąć zerwania czegoś ważnego.
Następnym krokiem jest git blame
, aby znaleźć powiązane zatwierdzenia, a następnie mieć nadzieję, że komunikat dziennika jest objaśniający. Jeśli będę musiał kopać głębiej, dowiem się, czy praca została wykonana w oddziale i przeczytaniu oddziału jako całości (wraz z komentarzem w narzędziu do śledzenia problemów).
Powiedzmy, że git blame
punktów przy zatwierdzeniu XYZ. I otworzyć przeglądarkę Historia Git (gitk, GitX, git log --decorate --graph
, etc ...), znaleźć i zobaczyć popełnić XYZ ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
Jest mój oddział! Wiem, że QQ, UU, XYZ, JJ i MM są częścią tego samego oddziału i powinienem przyjrzeć się ich komunikatom dziennika w celu uzyskania szczegółów. Wiem, że GG będzie zobowiązaniem scalającym i będzie mieć nazwę oddziału, który, mam nadzieję, jest powiązany z problemem w trackerze.
Jeśli z jakiegoś powodu chcę znaleźć stary oddział, mogę uruchomić git log
i wyszukać nazwę oddziału w zatwierdzeniu scalenia. Jest wystarczająco szybki nawet na bardzo dużych repozytoriach.
To właśnie mam na myśli, gdy mówię, że gałęzie same się archiwizują.
Oznaczanie każdej gałęzi niepotrzebnie zajmuje się robieniem spraw (krytycznym procesem, który powinien być bezwzględnie usprawniony), gumuje listę tagów (nie mówiąc o wydajności, ale czytelność człowieka) za pomocą setek tagów, które są bardzo rzadko przydatne i nie jest nawet bardzo przydatny w archeologii.
git-rm nie usuwa zasobów z repozytorium, usuwa je tylko z indeksu http://www.kernel.org/pub/software/scm/git/docs/git-rm.html Możesz łatwo przywrócić te zasoby przy użyciu 'git checkout [rev] file' –
Nie wiem o tym. Używam 'Attic/' lekkich tagów do archiwizacji gałęzi. Znaczniki –
to szybki i bezpieczny wybór. – kch