Co oznaczają "branch"," tag "i" trunk " w repozytoriach Subversion?

Widziałem te słowa wiele wokół dyskusji Subversion (I chyba general repozytorium). Używam SVN w moich projektach przez ostatnie kilka lat, ale nigdy nie pojąłem pełnej koncepcji tych katalogów.

Co to znaczy?

Author: Shog9, 2008-08-19

17 answers

Hmm, nie jestem pewien czy Zgadzam się z tym, że Nick re tag jest podobny do gałęzi. Znacznik jest tylko znacznikiem

  • Kuferek będzie głównym elementem rozwoju, począwszy od początku projektu do chwili obecnej.

  • Oddział będzie kopią kodu pochodzącego z pewnego punktu w bagażniku, który jest używany do wprowadzania dużych zmian w kodzie przy zachowaniu integralności kodu w bagażniku. Jeśli główne zmiany działają zgodnie z plan, są one zwykle połączone z powrotem do bagażnika.

  • Znacznik będzie punkt w czasie na pniu lub gałęzi, które chcesz zachować. Dwa główne powody zachowania byłoby to, że albo jest to główne wydanie oprogramowania, czy alfa, beta, RC lub RTM, lub jest to najbardziej stabilny punkt oprogramowania przed poważnymi zmianami w bagażniku zostały zastosowane.

W projektach open source główne gałęzie, które nie są akceptowane do pnia przez projekt interesariusze mogą stać się podstawą dla forków - np. całkowicie oddzielnych projektów, które mają wspólne pochodzenie z innym kodem źródłowym.

 874
Author: Jon Limjap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-06 13:58:59

Po pierwsze, jak podkreślają @AndrewFinnell i @KenLiu, w SVN nazwy katalogów same w sobie nic nie znaczą - "trunk, branches i tags" są po prostu powszechną konwencją używaną przez większość repozytoriów. Nie wszystkie projekty używają wszystkich katalogów (jest to dość powszechne, aby w ogóle nie używać "tagów"), a w rzeczywistości nic nie powstrzymuje cię przed nazywaniem ich jak chcesz, chociaż łamanie konwencji jest często mylące.

Opiszę prawdopodobnie najczęstszy scenariusz użycia gałęzie i znaczniki oraz podać przykładowy scenariusz ich użycia.

  • Trunk : główny obszar rozwoju. To tutaj mieszka Twoje następne Główne wydanie kodu i ogólnie ma wszystkie najnowsze funkcje.

  • Gałęzie: za każdym razem, gdy wydajesz główną wersję, zostaje utworzona gałąź. Pozwala to na poprawki błędów i tworzenie nowej wersji bez konieczności wydawania najnowszych - ewentualnie niedokończonych lub nieprzetestowanych-funkcji.

  • Tags: za każdym razem, gdy wydajesz wersję (final release, release candidates (RC) i beta), tworzysz dla niej znacznik. To daje Ci punkt w czasie kopię kodu w takim stanie, w jakim był w tym stanie, pozwalając ci wrócić i odtworzyć wszelkie błędy, jeśli to konieczne w poprzedniej wersji, lub ponownie wydać poprzednią wersję dokładnie tak, jak była. Gałęzie i tagi w SVN są lekkie - na serwerze nie robi pełnej kopii plików, tylko znacznik z napisem " te pliki zostały skopiowane na ta wersja", która zajmuje tylko kilka bajtów. Mając to na uwadze, nigdy nie powinieneś martwić się o tworzenie znacznika dla dowolnego wydanego kodu. Jak powiedziałem wcześniej, tagi są często pomijane, a zamiast tego, changelog lub inny dokument wyjaśnia numer wersji podczas wydawania.


Na przykład, załóżmy, że zaczynasz nowy projekt. Zaczynasz pracę w "trunku", nad tym, co ostatecznie zostanie wydane jako Wersja 1.0.

  • trunk/ - wersja rozwojowa, wkrótce być 1.0
  • branches/ - empty

Po zakończeniu wersji 1.0.0 rozgałęziasz tułów do nowej gałęzi "1.0 "i tworzysz tag" 1.0.0". Teraz prace nad tym, co ostatecznie będzie 1.1, trwają w bagażniku.

  • trunk / - wersja rozwojowa, wkrótce 1.1
  • branches/1.0-1.0.0 release version
  • tags / 1.0.0-1.0.0 release version

Natkniesz się na jakieś błędy w kodzie, naprawisz je w bagażniku, a następnie połączysz poprawki do gałęzi 1.0. Możesz również zrobić odwrotnie i naprawić błędy w gałęzi 1.0, a następnie połączyć je z powrotem do trunka, ale zwykle projekty trzymają się scalania w jedną stronę tylko po to, aby zmniejszyć szansę na przeoczenie czegoś. Czasami błąd można naprawić tylko w 1.0, ponieważ jest przestarzały w 1.1. To naprawdę nie ma znaczenia: chcesz się tylko upewnić, że nie wydasz 1.1 z tymi samymi błędami, które zostały naprawione w 1.0.

  • trunk/ - wersja rozwojowa, wkrótce będzie 1.1
  • branches / 1.0 - nadchodzące wydanie 1.0.1
  • tagi / 1.0.0-1.0.0 Wersja release

Gdy znajdziesz wystarczająco dużo błędów (a może jeden błąd krytyczny), zdecydujesz się na Wydanie 1.0.1. Tworzysz tag "1.0.1" z gałęzi 1.0 i wypuszczasz kod. W tym momencie trunk będzie zawierał to, co będzie 1.1, a gałąź " 1.0 " zawiera kod 1.0.1. Następnym razem, gdy wydasz aktualizację do wersji 1.0, będzie to wersja 1.0.2.

  • trunk / - wersja rozwojowa, wkrótce be 1.1
  • branches / 1.0 - nadchodzące wydanie 1.0.2
  • tagi / 1.0.0-1.0.0 Wersja release
  • tags / 1.0.1-1.0.1 release version

W końcu jesteś prawie gotowy do wydania 1.1, ale najpierw chcesz zrobić wersję beta. W tym przypadku prawdopodobnie wykonasz gałąź" 1.1 "i tag" 1. 1beta1". Teraz prace nad tym, co będzie 1.2 (lub może 2.0) trwają w trunku, ale prace nad 1.1 trwają w gałęzi "1.1".

  • trunk / - wersja rozwojowa, wkrótce będzie 1.2
  • branches/1.0 - nadchodzące wydanie 1.0.2
  • branches / 1.1-nadchodzące wydanie 1.1.0
  • tagi / 1.0.0-1.0.0 Wersja release
  • tagi / 1.0.1-1.0.1 Wersja release
  • tags / 1. 1beta1 - 1.1 beta 1 release version

Po wydaniu 1.1 final tworzysz tag "1.1" z gałęzi "1.1".

Możesz również nadal utrzymywać wersję 1.0, przenosząc poprawki błędów między wszystkimi trzema gałęziami (1.0, 1.1, i bagażnika). Ważne jest to, że dla każdej głównej wersji oprogramowania, które utrzymujesz, masz gałąź, która zawiera najnowszą wersję kodu dla tej wersji.


Innym zastosowaniem gałęzi jest funkcja. To jest miejsce, w którym gałęzi tułowia (lub jednej z gałęzi wydania) i pracować nad nową funkcją w izolacji. Po zakończeniu funkcji łączysz ją z powrotem i usuwasz gałąź.

  • trunk/ - wersja rozwojowa, wkrótce będzie 1.2
  • branches / 1.1-nadchodzące wydanie 1.1.0
  • branches/UI-rewrite - experimental feature branch

Idea tego polega na tym, że pracujesz nad czymś uciążliwym( co powstrzymywałoby lub przeszkadzało innym ludziom w wykonywaniu ich pracy), czymś eksperymentalnym (co może nawet nie dać rady), lub po prostu czymś, co zajmuje dużo czasu (i boisz się, że wstrzyma wydanie 1.2, gdy będziesz gotowy do odgałęzienia 1.2 z trunka), możesz to zrobić w izolacja w gałęzi. Ogólnie rzecz biorąc, aktualizujesz go z trunkiem, scalając zmiany w nim przez cały czas, co ułatwia ponowną integrację (Scalanie z powrotem do trunku)po zakończeniu.


Zauważ również, że schemat wersjonowania, którego tu użyłem, jest tylko jednym z wielu. Niektóre zespoły wykonywałyby poprawki błędów/wydania konserwacyjne jako 1.1, 1.2 itp., a główne zmiany jako 1.x, 2.x itp. Użycie tutaj jest takie samo, ale możesz nazwać gałąź " 1 " lub " 1.x "zamiast" 1.0 "lub" 1.0.x". semantic wersjonowanie jest dobrym przewodnikiem, jak zrobić numery wersji).

 540
Author: gregmac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-10 06:05:55

Oprócz tego, co powiedział Nick, możesz dowiedzieć się więcej na Streamed Lines: Branching Patterns for Parallel Software Development

Tutaj wpisz opis obrazka

Na tym rysunku main jest pień, rel1-maint jest gałęzią, a 1.0 jest znacznikiem.

 93
Author: grom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-03 00:46:06

Ogólnie (widok narzędzia agnostycznego), gałąź jest mechanizmem używanym do równoległego rozwoju. SCM może mieć od 0 do n oddziałów. Subversion mA 0.

  • Trunk jest główną gałęzią zalecane przez Subversion , ale nie jesteś w żaden sposób zmuszony do jego tworzenia. Można to nazwać "głównym" lub "releases", lub nie mieć go w ogóle!

  • Branch reprezentuje wysiłek rozwojowy. Nigdy nie powinien być nazwany po zasobie (jak "vonc_branch"), ale po:

    • a purpose 'myProject_dev' or 'myProject_Merge'
    • Obwód wydania "myProjetc1. 0_dev' or myProject2. 3_Merge " lub " myProject6..2_Patch1"...
  • Tag jest migawką plików w celu łatwego powrotu do tego stanu. problem polega na tym, że tag i branch są takie same w Subversion. A ja zdecydowanie polecam podejście paranoiczne:

    Możesz użyć jednego ze skryptów kontroli dostępu dostarczony z Subversion, aby uniemożliwić komukolwiek robienie czegokolwiek poza tworzeniem nowych kopii w obszarze tagów.

Znacznik jest ostateczny. Jego treść nigdy nie powinna się zmieniać. Nigdy. Nigdy. Zapomniałeś tekstu w notatce? Utwórz nowy tag. Przestarzałe lub usunąć stary.

Teraz, czytałem dużo o "łączenie z powrotem takie I takie w takie I takie gałęzie, a następnie w końcu w gałęzi pnia". Nazywa się to merge workflow i nie ma tutaj nic obowiązkowego . Nie dlatego, że masz gałąź pnia, musisz połączyć z powrotem cokolwiek.

Zgodnie z konwencją, gałąź pnia może reprezentować aktualny stan twojego rozwoju, ale jest to dla prostego projektu sekwencyjnego, który ma:

  • Brak' z góry ' rozwoju (dla przygotowania następnej-następnej wersji sugerującej takie zmiany, że nie są one zgodne z obecnym 'trunkiem' rozwoju)
  • no massive refactoring (do testowania nowego wybór techniczny)
  • Brak długoterminowego utrzymywania poprzedniego wydania

Ponieważ przy jednym (lub wszystkich) tych scenariuszach dostajesz cztery "trunks", cztery "current developments", a nie wszystko, co robisz w tym równoległym rozwoju, musi być połączone z powrotem w "trunk".

 74
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-03 20:07:14

W SVN znacznik i branch są bardzo podobne.

Tag = zdefiniowany kawałek w czasie, zwykle używany dla wydań

Branch = również zdefiniowany kawałek w czasie, który może być kontynuowany, zwykle używany dla głównych wersji, takich jak 1.0, 1.5, 2.0, itp. Pozwala to na kontynuowanie obsługi wydania produkcyjnego przy jednoczesnym postępie z przełomowymi zmianami w bagażniku

Trunk = przestrzeń pracy rozwojowej, to to miejsce, gdzie powinny się odbywać wszystkie prace rozwojowe, a następnie zmiany scalone z powrotem z wydań branch.

 37
Author: Nick Berardi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-19 13:25:17

Nie mają one żadnego formalnego znaczenia. Folder to folder do SVN. Są ogólnie akceptowanym sposobem organizacji projektu.

  • Bagażnik jest tam, gdzie trzymasz swoją główną linię developmemt. Folder branch to miejsce, w którym możesz utworzyć, cóż, gałęzie, które trudno wyjaśnić w krótkim poście.

  • Gałąź jest kopią podzbioru twojego projektu, nad którym pracujesz oddzielnie od pnia. Może to do eksperymentów, które mogą nigdzie nie iść, lub może to dla następnego wydania, które później połączysz z powrotem w bagażniku, gdy stanie się stabilny.

  • Folder tags służy do tworzenia oznakowanych kopii repozytorium, zwykle w punktach kontrolnych wydania.

Ale jak mówiłem, dla SVN, folder to folder. branch, trunk a tag to tylko zjazd.

Używam słowa "Kopiuj". SVN nie tworzy pełnych kopii rzeczy w repozytorium.

 29
Author: Eric Z Beard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-03 20:01:46

The trunk jest linią rozwojową, która zawiera najnowszy kod źródłowy i funkcje. Powinien mieć najnowsze poprawki błędów w nim, jak również najnowsze funkcje dodane do projektu.

Gałęzie są zwykle używane do zrobienia czegoś z dala od pnia (lub innej linii rozwojowej), które w przeciwnym razie złamałoby kompilację. Nowe funkcje są często budowane w gałęzi, a następnie łączone z powrotem do pnia. Gałęzie często zawierają kod, który niekoniecznie jest zatwierdzony dla linii rozwojowej rozgałęzia się od. Na przykład programista może spróbować optymalizacji na czymś w gałęzi i połączyć się z powrotem w linii rozwoju tylko wtedy, gdy optymalizacja jest zadowalająca.

Znaczniki są migawkami repozytorium w określonym czasie. Nie powinno się na nich rozwijać. Są one najczęściej używane do pobrania kopii tego, co zostało wydane klientowi, dzięki czemu można łatwo mieć dostęp do tego, co klient używa.

Oto link do bardzo dobry przewodnik po repozytoriach:

Artykuły w Wikipedii też warto przeczytać.

 13
Author: mbillard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-19 13:37:32

O to chodzi w tworzeniu oprogramowania, nie ma spójnej wiedzy na temat czegokolwiek, każdy wydaje się mieć to po swojemu, ale to dlatego, że i tak jest to stosunkowo młoda dyscyplina.

Here ' s my plain simple way,

Trunk - katalog trunk zawiera najbardziej aktualną, zatwierdzoną i połączoną pracę. Wbrew temu, co przyznało się wielu, mój bagażnik jest tylko do czystej, schludnej, zatwierdzonej pracy, a nie obszaru rozwoju, ale raczej uwolnienia miejsce.

W pewnym momencie, kiedy bagażnik wydaje się gotowy do wydania, zostaje oznaczony i zwolniony.

Branches - katalog branches zawiera eksperymenty i bieżące prace. Praca w oddziale pozostaje tam do momentu zatwierdzenia połączenia z bagażnikiem. Dla mnie jest to obszar, w którym cała praca jest wykonywana.

Na przykład: mogę mieć gałąź iteracji-5 dla piątej rundy rozwoju produktu, może prototypu-9 / align = "left" /

Tags - katalog tags zawiera migawki zatwierdzonych gałęzi i wydań pnia. Za każdym razem, gdy gałąź jest zatwierdzona do połączenia z pniem, lub gdy następuje zwolnienie pnia, migawka zatwierdzonej gałęzi lub zwolnienia pnia jest wykonywana pod tagami.

Przypuszczam, że z tagami mogę przeskoczyć tam iz powrotem w czasie do punktów zainteresowania dość łatwo.

 11
Author: BakerTheHacker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-30 11:50:56

Znalazłem ten świetny tutorial dotyczący SVN, gdy szukałem strony autora OpenCV 2 Computer Vision Application Programming Cookbook i pomyślałem, że powinienem się podzielić.

On ma samouczek Jak używać SVN i co oznaczają frazy 'trunk', ' tag ' i 'branch'.

Cytowany bezpośrednio z poradnika:

Aktualna wersja twojego projektu oprogramowania, nad którym aktualnie pracuje twój zespół, znajduje się zazwyczaj pod katalog o nazwie trunk . W miarę rozwoju projektu programista aktualizuje tę wersję poprawiając błędy, dodając nowe funkcje) i przesyłając swoje zmiany w tym katalogu.

W dowolnym momencie możesz chcieć zamrozić wersję i zrobić migawkę oprogramowania, tak jak jest na tym etapie rozwoju. Zasadniczo odpowiada to oficjalnym wersjom Twojego oprogramowania, na przykład tym, które dostarczysz swoim klientom. Migawki te znajdują się pod tagi katalog Twojego projektu.

Wreszcie, często przydatne jest stworzenie, w pewnym momencie, nowej linii rozwoju dla Twojego oprogramowania. Dzieje się tak na przykład, gdy chcesz przetestować alternatywną implementację, w której musisz zmodyfikować swoje oprogramowanie, ale nie chcesz przesyłać tych zmian do głównego projektu, dopóki nie zdecydujesz, czy przyjmiesz nowe rozwiązanie. Główny zespół może następnie kontynuować pracę nad projektem, podczas gdy inni programiści pracują nad prototypem. Ty umieściłby te nowe linie rozwoju projektu w katalogu o nazwie branches .

 10
Author: Vince,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-15 15:14:46

Katalog trunk jest katalogiem, z którym jesteś prawdopodobnie najbardziej zaznajomiony, ponieważ jest używany do przechowywania ostatnich zmian. Twoja główna baza powinna być w bagażniku.

Katalog branches służy do przechowywania Twoich Branch' ów, cokolwiek by to nie było.

Katalog tags służy zasadniczo do tagowania określonego zestawu plików. Robisz to dla rzeczy takich jak wydania, gdzie chcesz, aby "1.0 "były tymi plikami w tych wersjach i" 1.1 " były tymi plikami w tych wersjach. Zwykle nie modyfikuj znaczników po ich utworzeniu. Aby uzyskać więcej informacji na temat tagów, zobacz Rozdział 4. Rozgałęzianie i łączenie (W Kontrola wersji z Subversion).

 9
Author: bradtgmurray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-09 18:08:45

Jednym z powodów, dla których każdy ma nieco inną definicję jest to, że Subversion implementuje zero wsparcie dla gałęzi i tagów. Subversion zasadniczo mówi: przyjrzeliśmy się w pełni funkcjonalnym gałęziom i tagom w innych systemach i nie uznaliśmy ich za użyteczne, więc niczego nie zaimplementowaliśmy. Po prostu zrób kopię do nowego katalogu o nazwie zamiast . Wtedy oczywiście każdy może mieć nieco inne konwencje. Aby zrozumieć różnica między znacznikiem rzeczywistym A zwyczajną konwencją copy + naming zobacz wpis w Wikipedii tagi i gałęzie Subversion.

 9
Author: MarcH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-09 18:23:30

Tag = zdefiniowany kawałek w czasie, zwykle używany dla wydań

Myślę, że to jest to, co zwykle oznacza "tag". Ale w Subversion:

Nie mają one żadnego formalnego znaczenia. Folder to folder do SVN.

Co wydaje mi się dość mylące: system kontroli wersji, który nie wie nic o gałęziach lub tagach. Z punktu widzenia implementacji uważam, że Subversion sposób tworzenia "kopii" jest bardzo sprytny, ale muszę wiedzieć o to jest to, co nazwałbym nieszczelna abstrakcja.

A może używam CVS zbyt długo.

 8
Author: sme,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-09 18:37:51

Myślę, że pewne zamieszanie wynika z różnicy między pojęciem tagu a implementacją w SVN. Do SVN znacznik jest gałęzią, która jest kopią. Modyfikowanie znaczników jest uważane za błędne i w rzeczywistości narzędzia takie jak TortoiseSVN ostrzegą cię, jeśli spróbujesz coś zmodyfikować ../ tags/. na ścieżce.

 6
Author: denis phillips,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-19 17:24:07

Nie jestem do końca pewien, czym jest' tag', ale branch jest dość powszechną koncepcją kontroli źródeł.

Zasadniczo gałąź jest sposobem pracy nad zmianami w kodzie bez wpływu na trunk. Powiedz, że chcesz dodać nową funkcję, która jest dość skomplikowana. Chcesz mieć możliwość sprawdzania zmian w trakcie ich wprowadzania, ale nie chcesz, aby wpływały one na tułów, dopóki nie skończysz z tą funkcją.

Najpierw tworzysz gałąź. To jest w zasadzie Kopia trunk jak-z czasu, kiedy zrobiłeś gałąź. Wtedy wykonywałbyś całą swoją pracę w oddziale. Wszelkie zmiany wprowadzone w gałęzi nie wpływają na trunk, więc trunk jest nadal użyteczny, pozwalając innym na dalszą pracę (np. poprawianie błędów lub drobne ulepszenia). Po zakończeniu funkcji zintegrujesz gałąź z powrotem do bagażnika. To przeniesie wszystkie twoje zmiany z gałęzi do pnia.

Istnieje wiele wzorów, których ludzie używają dla gałęzi. Jeśli masz produkt z wieloma głównymi wersjami obsługiwanymi jednocześnie, zazwyczaj każda wersja byłaby gałęzią. Tam, gdzie pracuję, mamy oddział kontroli jakości i oddział produkcyjny. Przed wydaniem naszego kodu do QA integrujemy zmiany w gałęzi QA, a następnie wdrażamy je stamtąd. Podczas wprowadzania do produkcji integrujemy się z działem QA do działu produkcyjnego, dzięki czemu wiemy, że kod uruchomiony w produkcji jest identyczny z testowanym QA.

Oto wpis Wikipedii o gałęziach , ponieważ prawdopodobnie wyjaśniają rzeczy lepiej niż ja potrafię. :)

 5
Author: Herms,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-09 18:26:25

Trunk to podstawowy folder kodu aplikacji. To tutaj pracujesz nad swoją następną wersją / wydaniem.

Branch to folder, który pozwala wybrać moment w czasie i pozwala przejść inną ścieżką rozwoju niż / Trunk. Powszechnym zastosowaniem Branch jest zapewnienie zespołowi programistów dostępu do aktualnej migawki aplikacji, która istnieje w produkcji, tj. / Branża / produkcja-utrzymanie.

To 'rozgałęzianie' concept pozwala Twojemu zespołowi na tworzenie poprawek / ulepszeń w produkcji, bez wpływu na trwającą pracę nad następną wersją, która obecnie odbywa się w /Trunk. Gałęzie mogą być również mini-elementami funkcjonalności, które w dużych zespołach pozwalają programistom pracować nad atomicznie i łączyć się z powrotem w / Trunk w pewnym momencie w przyszłości.

Tags to folder, który pozwala na wykonywanie migawek aplikacji i pracę z tymi konkretnymi "kompilacjami". Dzięki temu Twój zespół jest elastyczny, zarówno w testowaniu, jak i w znajdowaniu różnic między buildami. Często znajdziesz konwencję nazewnictwa stosowaną w / Branch, która odnosi się do Twoich buildów, np. / Branch/ 2.0.0,/Branch /2.0.1,/Branch / 3.1.0, i tak dalej. Konwencja nazewnictwa zależy od Ciebie i Twojego zespołu; zachowaj spójność!

 4
Author: Errabi Ayoub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-02 14:11:22

Trunk: Po zakończeniu każdego sprintu w agile wychodzimy z produktem częściowo nadającym się do wysyłki. Te Wydania są przechowywane w bagażniku.

Gałęzie : wszystkie kody rozwoju równoległego dla każdego bieżącego sprintu są przechowywane w gałęziach.

Tagi: za każdym razem, gdy wypuszczamy wersję beta produktu częściowo nadającego się do wysyłki, tworzymy dla niego znacznik. To daje nam kod, który był dostępny w tym momencie, co pozwala nam wrócić do tego stanu, Jeśli wymagane w pewnym momencie podczas rozwoju.

 1
Author: Ujjwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-25 11:43:37

Dla osób znających GIT, master w GIT jest odpowiednikiem trunk w SVN.

Branch i tag mają taką samą terminologię zarówno w GIT jak i SVN.

 1
Author: Desert Rose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-04 05:07:23