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?
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.
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!
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