Utworzyłem gałąź projektu SVN o nazwie „funkcje” i teraz, gdy próbuję zaktualizować wspomniany projekt, pojawia się folder Features, który zawiera kolejną kopię projektu z tej gałęzi. Czy jest sposób, aby całkowicie usunąć gałąź z repozytorium, aby to się więcej nie zdarzało?
91
Odpowiedzi:
Jasne:
svn rm
niechciany folder i zatwierdzenie.Aby uniknąć takiej sytuacji w przyszłości, zastosowałbym zalecany układ dla projektów SVN:
/someproject/trunk
folderze (lub po prostu/trunk
jeśli chcesz umieścić tylko jeden projekt w repozytorium)/someproject/branches/somebranch
/someproject/tags
Teraz, kiedy sprawdzasz kopię roboczą, pamiętaj, aby sprawdzić tylko
trunk
lub pojedynczy oddział. Nie sprawdzaj wszystkiego w jednej ogromnej kopii roboczej zawierającej wszystkie gałęzie. 11 Chyba że wiesz, co robisz, w takim przypadku wiesz, jak tworzyć płytkie kopie robocze.
źródło
Zakładając, że ta gałąź nie jest linkiem zewnętrznym ani symbolicznym, usunięcie tej gałęzi powinno być tak proste, jak:
Jeśli chcesz to zrobić w repozytorium, zaktualizuj, aby usunąć je z kopii roboczej, możesz zrobić coś takiego:
Następnie uruchomić:
źródło
svn rm -m message http://...
i nie jestupdate
wymaganeDla tych, którzy używają TortoiseSVN , możecie to osiągnąć za pomocą przeglądarki repozytorium (jest ona oznaczona jako „Przeglądarka repozytoriów” w menu kontekstowym).
Znajdź folder oddziału, który chcesz usunąć, kliknij go prawym przyciskiem myszy i wybierz opcję „Usuń”.
Wpisz treść swojej zmiany i gotowe.
źródło
Możesz także bezpośrednio usunąć oddział na pilocie. Po wykonaniu tej czynności następna aktualizacja usunie go z kopii roboczej.
Jest
^
to skrót od adresu URL pilota, jak widać w 'svn info'. Podwójne cudzysłowy są konieczne w wierszu poleceń systemu Windows, ponieważ^
jest to znak specjalny.To polecenie zadziała również, jeśli nigdy nie sprawdzałeś gałęzi.
źródło
Możesz usunąć folder funkcji tak samo, jak każdy inny w kasie, a następnie zatwierdzić zmianę.
Aby temu zapobiec w przyszłości, sugeruję przestrzeganie konwencji nazewnictwa dla układu SVN.
Każdemu projektowi nadaj główny, rozgałęzienia, folder tagów podczas ich tworzenia.
źródło
Z kopii roboczej:
svn rm branches/features
svn commit -m "delete stale feature branch"
źródło
Polecenie usunięcia gałęzi jest następujące:
svn delete -m "<twoja wiadomość>" <url gałęzi>
Jeśli nie chcesz pobierać / pobierać całego repozytorium, wykonaj następujące polecenie na swoim terminalu:
1) uzyskaj bezwzględną ścieżkę do katalogu, który będzie zawierał twoją kopię roboczą
> pwd
2) Rozpocznij pobieranie kodu
svn> svn checkout <adres URL oddziału> <bezwzględna ścieżka z punktu 1>
Powyższe kroki spowodują, że pliki znajdują się w folderze gałęzi, a nie w całym folderze.
źródło