Jaki jest najprostszy sposób na rozgałęzianie i scalanie za pomocą TortoiseSVN?

Co to jest naprawdę proste " jak " zrobić rozgałęzianie i scalanie za pomocą TortoiseSVN?

Author: Peter Mortensen, 2009-09-22

1 answers

Zakładając, że twój katalog roboczy działa z bagażnika:

Kliknij prawym przyciskiem myszy " główny folder roboczy "(termin ten zawsze odnosi się do Eksploratora Windows) i wykonaj svn update, aby zaktualizować folder roboczy do najnowszego trunku.

Upewnij się, że to co masz jest stabilne.

Kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj svn commit, aby upewnić się, że wszelkie lokalne zmiany są przypisane do bagażnika.

Kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj svn repo-browser.

Jeśli nie masz jeszcze folder branches w repozytorium: kliknij prawym przyciskiem myszy folder tuż nad folderem trunk i wykonaj "utwórz folder" i utwórz folder branches (na przykład, jeśli twój trunk to http://myserver/svn/MyRepository/MyProj/Trunk, Utwórz http://myserver/svn/MyRepository/MyProj/Branches).

Kliknij prawym przyciskiem myszy na folderze trunk i wykonaj {[5] } i dodaj nową nazwę folderu dla swojej gałęzi. Na przykład: http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch. (Nie martw się, że to zmarnuje dużo miejsca... to się nazywa "tania Kopia"... w rzeczywistości nie kopiuje zawartości plików, chyba że ulegną zmianie).

Zamknij Repo-browser.

Kliknij prawym przyciskiem myszy główny katalog roboczy i wykonaj: svn switch i wybierz nazwę folderu nowej gałęzi (na przykład http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Pozostaw wszystko inne domyślnie.

Teraz popracuj nad swoją gałęzią. Kiedy dojdziesz do kamieni milowych, kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj svn commit, Aby zatwierdzić swoją gałąź. (To nie będzie widoczne w bagażniku).

Jeśli inni pracują na tej samej gałęzi, okresowo wykonuj svn update z głównego folderu roboczego. Będzie to aktualizacja z branch. (Nie otrzyma żadnych aktualizacji z bagażnika.)

Niezależnie od tego, czy inni pracują nad tą samą gałęzią, powinieneś okresowo łączyć zmiany z pnia, aby upewnić się, że Twoja gałąź nie będzie trudna do integracji później. Aby wykonać okresowe scalanie: kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj svn merge. Wybierz opcję "Połącz zakres wersji". W polu "URL to merge from" wybierz trunk (na przykład http://myserver/svn/MyRepository/MyProj/Trunk). Pozostaw zakres rewizji pusty i zostaw wszystko inne w spokoju. Klik Następny. Zostaw wszystko w spokoju i kliknij Połącz . Upewnij się, że wszystko nadal działa... napraw to, jeśli nie. Gdy będziesz zadowolony, wykonaj regularne svn update z folderu głównego work, aby zaktualizować z gałęzi (jest to konieczne, nawet jeśli jesteś jedynym pracującym na gałęzi, aby zaspokoić SVN). Następnie wykonaj svn commit, Aby zatwierdzić scalone zmiany tułowia do gałęzi. Możesz powtarzać ten krok okresowo tyle razy, ile chcesz.

Gdy twoja gałąź będzie gotowa do integracji, wykonaj powyższy krok pierwszy ostatni raz i zrób ostatnie testy. Wykonaj ostateczny commit do gałęzi.

Kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj kolejny svn switch, tym razem przełączając się do bagażnika (na przykład http://myserver/svn/MyRepository/MyProj/Trunk). Spowoduje to zasadniczo "cofnięcie" całej pracy, którą wykonałeś na swojej gałęzi, ale nie martw się... odzyskasz swoją pracę. (Będzie również zgłaszać wiele aktualizacji do plików, których nie zmieniłeś w swojej gałęzi, ale są to tylko zmiany "właściwości SVN"... nie martw się o oni.)

Kliknij prawym przyciskiem myszy na folderze pracy i wykonaj svn merge. Tym razem wybierz opcję "reintegracja Oddziału". Dla adresu URL umieść w swojej gałęzi (na przykład http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). Zostaw resztę w spokoju i kliknij Dalej. Zostaw wszystko w spokoju i kliknij Połącz . Teraz masz wszystkie prace, które wykonałeś na swojej gałęzi, a także aktualne prace z bagażnika.

Zrób ostateczny test. Wszystko powinno działać, ponieważ powinien to być ten sam zestaw plików, który miałeś w ostatnim teście w gałęzi. Kliknij prawym przyciskiem myszy na głównym folderze roboczym i wykonaj svn commit. Zatwierdź wszystko, nawet pliki, na których nie pracowałeś w swojej gałęzi (mają tylko zmiany "właściwości SVN", ale ich zatwierdzenie pomaga SVN śledzić wszystkie zmiany).

W bagażniku znajdują się wszystkie twoje prace, jak również wszystkie prace, które zostały wykonane w bagażniku, gdy pracowałeś nad swoją gałęzią, i to wszystko działa. Ponadto SVN ma pełną historię wszystkich plików, nawet wersji, które zostały sprawdzone podczas pracowaliśmy nad Twoim oddziałem.

Opcjonalnie: przejdź do Repo-browser, kliknij prawym przyciskiem myszy na swoim folderze branch (na przykład http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch) i wykonaj "delete". Nie będzie to miało wpływu na tułów i nie potrzebujesz już gałęzi. (Nawet jeśli jesteś naprawdę paranoikiem, nie martw się, ponieważ możesz nawet odzyskać usuniętą gałąź z Repo browser w dowolnym momencie, jeśli naprawdę potrzebujesz.)

Zapraszam do komentowania!

 181
Author: JoelFan,
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 19:02:16