Odpowiedzi:
Gałęzie tematów to zwykle lekkie gałęzie tworzone lokalnie, które mają znaczącą dla Ciebie nazwę . Są to miejsca, w których możesz pracować nad poprawką błędu lub funkcją (są one również nazywane gałęziami funkcji), których ukończenie powinno zająć trochę czasu.
Innym rodzajem oddziału jest „gałąź zdalna” lub „gałąź zdalnego śledzenia”. Ten rodzaj gałęzi podąża za rozwojem cudzej pracy i jest przechowywany w Twoim własnym repozytorium. Okresowo aktualizujesz tę gałąź (używając git fetch
), aby śledzić, co dzieje się gdzie indziej. Gdy jesteś gotowy, aby nadążyć za zmianami innych osób, możesz użyć git pull
zarówno pobierania, jak i scalania.
Widziałem również inny rodzaj gałęzi, która jest zasadniczo całkowicie oddzielnym drzewem plików w tym samym repozytorium. Na przykład samo repozytorium Git zawiera nagłówki o nazwach man i html, które zawierają zupełnie inną zawartość niż główna gałąź. Nie wiem, jak zwykle nazywa się tego typu gałęzie.
To nie jest termin techniczny; odnosi się tylko do gałęzi, która została utworzona w celu zaimplementowania określonej funkcji lub naprawienia błędu. „Temat” jest w istocie powodem powstania oddziału.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches wyjaśnia to dobrze:
Gałąź „tematu” to osobna gałąź, której używasz podczas pracy nad pojedynczym „tematem” (poprawka błędu, nowa funkcja lub pomysł eksperymentalny). Zaleca się pracę nad gałęzią tematyczną zamiast bezpośrednio nad „nadrzędną”, ponieważ:
{... odwiedź link ...}
Tak więc, z tych wszystkich powodów, zaleca się używanie gałęzi tematycznej do przygotowywania zgłoszeń nawet w przypadku prostego wkładu, takiego jak pojedyncze poprawki błędów i tym podobne.
Ta próbka zawiera również przykłady. Co właściwie skłoniło mnie do myślenia, prawdopodobnie to już robi większość sklepów. Wszystkie zwinne projekty, z którymi kiedykolwiek byłem, robią. Głosowałem za "To nie jest termin techniczny", ponieważ czuję, że uderza to w sedno.
wygląda na to, że najważniejszym i najważniejszym typem gałęzi, które nie są gałęziami tematycznymi, byłyby gałęzie wydania w głównym, publicznie dostępnym repozytorium, prawda?
Prawdopodobnie jest to właściwe dla Ciebie, ale chodzi o Ciebie i projekt, o którym myślisz; nie jest określane przez Git.
Większość systemów kontroli wersji (szczególnie scentralizowanych) nakazuje lub wymusza określony przepływ pracy, w tym, do czego ma sens użycie gałęzi. Git (i do pewnego stopnia większość rozproszonych VCS) bierze pod uwagę, że przepływ pracy, jakie gałęzie są używane, kiedy zatwierdzać, do jakich różnych repozytoriów są używane itp. Są wybierane przez użytkowników i umowy między użytkownikami (polityki). Więc Git nie narzuca ich technicznie.
To jedna z rzeczy, które utrudniały mi naukę Gita. Oliver Steele wyjaśnił to z punktu widzenia użytkownika, pisząc o Polityce Commit .