Mam aplikację zarządzaną za pomocą Git. Właśnie wydałem nową wersję 2.x, którą planuję utrzymać na dłuższą metę (głównie poprawki błędów). W międzyczasie chciałbym rozpocząć pracę nad wersją 3.x. Jaki jest zalecany sposób zarządzania tym? Czy powinienem utworzyć gałąź dla wersji 2.x i mieć wersję 3.x w systemie głównym? czy w inny sposób?
version-control
git
Laurent
źródło
źródło
master
to rozumieć. To tylko etykieta.Odpowiedzi:
Opisano tutaj bardzo interesujący sposób: udany model rozgałęziania Git
Uważam to za bardzo intrygujące, ale jeszcze go nie wykorzystałem.
Bardzo dobrze, zgodnie z prośbą o (bardzo) krótkie podsumowanie tego, co mówi artykuł:
To krótko, ale uwierzcie mi, że artykuł opisuje go bardziej szczegółowo, a dzięki pomocnej grafice wizualizacyjnej jest o wiele łatwiejszy do zrozumienia.
źródło
Moją zasadą jest to, że im krótsza jest gałąź, tym głębiej powinna ona znajdować się w strukturze gałęzi i bardziej konkretna będzie jej nazwa. W dłuższym okresie gałąź będzie płytsza, będzie w strukturze gałęzi i bardziej ogólna będzie jej nazwa.
Więc zachowujesz swojego mistrza dla wersji długoterminowej (3.X) i wciąż nazywasz tę gałąź ogólną nazwą (master, trunk, devel, ...), a nie określoną (nazwa kodowa wydania lub jeszcze gorsze numery wydania) które w zbyt dużym stopniu zależą w praktyce od późnej decyzji marketingowej)
Nie ma to większego znaczenia w systemie takim jak git, który ma płaską przestrzeń nazw dla gałęzi i gdzie gałęzie są równoważne. Ma to większe znaczenie w przypadku systemu takiego jak clearcase, który ma hierarchiczną przestrzeń nazw dla gałęzi (pełna nazwa gałęzi V4 kończy się na głównej / v1 / v2 / v3 / v4 ...)
źródło