To, co musisz zrozumieć, pochodzące z CVS, to to, że nie tworzysz już katalogów podczas zakładania oddziału.
Koniec z „lepkim znacznikiem” (który można zastosować tylko do jednego pliku) lub „znacznikiem gałęzi”.
Rozgałęzienia i znaczniki są dwoma różnymi obiektami w Git i zawsze dotyczą wszystkich repozytoriów.
Nie będziesz już (tym razem z SVN) jawnie strukturyzować swoje repozytorium za pomocą:
branches
myFirstBranch
myProject
mySubDirs
mySecondBranch
...
tags
myFirstTag
myProject
mySubDirs
mySecondTag
...
Struktura ta wynika z faktu, że CVS jest systemem wersji, a nie systemem wersji (patrz Kontrola źródła vs. Kontrola wersji? ).
Oznacza to, że gałęzie są emulowane przez tagi dla CVS, kopie katalogów dla SVN.
Twoje pytanie ma sens, jeśli jesteś przyzwyczajony do kasy tagu i rozpocznij w nim pracę .
Czego nie powinieneś;)
Tag ma reprezentować niezmienną treść, służy tylko do uzyskania dostępu do niego z gwarancją uzyskania tej samej treści za każdym razem.
W Git historia zmian jest serią zatwierdzeń, tworzących wykres.
Gałąź to jedna ścieżka tego wykresu
x--x--x--x--x # one branch
\
--y----y # another branch
1.1
^
|
# a tag pointing to a commit
- Jeśli kasujesz tag, musisz utworzyć gałąź, aby zacząć z niego pracować.
- Jeśli kasujesz oddział, zobaczysz bezpośrednio ostatnie zatwierdzenie („HEAD”) tego oddziału.
Widzieć Jakuba Narębskiego na wszystkie szczegóły techniczne, ale szczerze mówiąc, w tym momencie nie potrzebujesz (jeszcze) wszystkich szczegółów;)
Najważniejsze jest to, że znacznik jest prostym wskaźnikiem do zatwierdzenia, nigdy nie będziesz mógł modyfikować jego zawartości. Potrzebujesz oddziału.
W twoim przypadku każdy programista pracuje nad określoną funkcją:
- powinni utworzyć własny oddział w swoim repozytorium
- śledź oddziały z repozytoriów ich współpracowników (tego, który pracuje nad tą samą funkcją)
- ciągnięcie / pchanie, aby dzielić się swoją pracą z rówieśnikami.
Zamiast bezpośrednio śledzić oddziały współpracowników, możesz śledzić tylko oddział jednego „oficjalnego” centralnego repozytorium, do którego wszyscy pchają swoją pracę w celu zintegrowania i udostępnienia pracy wszystkich dla tej konkretnej funkcji.