Rozgałęzienie (kontrola wersji) - Branching (version control)

Rozgałęzienie w kontroli wersji i zarządzaniu konfiguracją oprogramowania polega na powielaniu obiektu pod kontrolą wersji (takiego jak plik kodu źródłowego lub drzewo katalogów ). Każdy obiekt można następnie modyfikować oddzielnie i równolegle, aby obiekty stały się różne. W tym kontekście obiekty nazywane są gałęziami . Użytkownicy systemu kontroli wersji mogą rozgałęzić dowolną gałąź.

Gałęzie nazywane są również drzewami , strumieniami lub liniami współrzędnymi . Oddział pochodzących bywa nazywany gałąź rodzic The upstream oddział (lub po prostu w górę , zwłaszcza wtedy, gdy gałęzie są utrzymywane przez różne organizacje lub osoby), lub strumienia podkładu . Gałęzie podrzędne to gałęzie, które mają rodzica; gałąź bez rodzica jest nazywana pniem lub linią główną .

W niektórych rozproszonych systemach kontroli wersji , takich jak Darcs , nie ma rozróżnienia między repozytoriami a oddziałami; w tych systemach pobranie kopii repozytorium jest równoznaczne z rozgałęzianiem.

Rozgałęzienie na ogół oznacza również możliwość późniejszego scalania lub integrowania zmian z powrotem w gałęzi nadrzędnej. Często zmiany są scalane z powrotem do linii głównej, nawet jeśli nie jest to gałąź nadrzędna. Oddział, który nie jest przeznaczony do połączenia (np. Ponieważ został ponownie licencjonowany na podstawie niezgodnej licencji przez osobę trzecią lub próbuje służyć innemu celowi) jest zwykle nazywany forkiem .

Motywacje do rozgałęzienia

Gałęzie pozwalają na równoległe tworzenie części oprogramowania. Duże projekty wymagają obsadzenia wielu ról, w tym programistów, kierowników budowy i personelu zapewniającego jakość . Ponadto może być konieczne utrzymanie wielu wydań na różnych platformach systemów operacyjnych. Gałęzie umożliwiają współtwórcom izolowanie zmian bez destabilizacji bazy kodu, na przykład poprawki błędów, nowe funkcje i integrację wersji . Te zmiany mogą zostać później scalone (ponownie zsynchronizowane) po przetestowaniu.

Branża deweloperska

Oddział rozwój lub rozwój drzewo kawałek oprogramowania jest wersja, która jest w trakcie rozwoju , a nie został jeszcze oficjalnie wydany . W społeczności open source pojęcie wydania jest zazwyczaj metaforyczne, ponieważ każdy może zwykle sprawdzić dowolną żądaną wersję, niezależnie od tego, czy jest w gałęzi programistycznej, czy nie. Często zdarza się, że wersja będzie w końcu stać się kolejną główną wersję nazywa gałąź rozwoju. Jednak często w danym momencie powstaje więcej niż jedna kolejna wersja oprogramowania.

Niektóre systemy kontroli wersji mają specyficzny żargon dla głównej gałęzi rozwoju; na przykład w CVS nazywa się to „GŁÓWNYM”; w Git nazywa się to „mistrzem”. Bardziej ogólnym terminem jest „ bagażnik ”.

Cień lub magiczne gałęzie

W cvc i CVSNT , shadow lub magic branch "shadows" zmiany wprowadzone w gałęzi upstream, aby ułatwić obsługę małych zmian (cvc to system budowania pakietów open source zawierający system kontroli wersji dla pakietów tworzonych przez rPath . )

Klony repozytorium

W przypadku rozproszonej kontroli wersji całe repozytorium wraz z oddziałami może być kopiowane i dalej opracowywane. Monotone (mtn), Mercurial (hg) i git nazywają to „klonem”; Bazar nazywa to „oddziałem”.

Zobacz też

Bibliografia