Mam obecnie repozytorium svn na moim hostowanym serwerze internetowym. Pracuję lokalnie, zatwierdzam moje zmiany w repozytorium na moim serwerze, a następnie uruchamiam "aktualizację svn" przez ssh w moim folderze na żywo, kiedy jestem gotowy, aby wprowadzić zmiany na żywo.Używanie SVN z witryną pośredniczącą i na żywo
Dodaję teraz witrynę przemieszczania, która będzie znajdować się na tym samym serwerze. Będzie to po prostu kolejny folder na tym samym serwerze.
Problem polega na tym, że będę pracował nad nieco większymi zmianami w witrynie na serwerze pomostowym, które mogą zająć nawet tydzień testów. W tym czasie mogę chcieć dokonać drobnej kosmetycznej zmiany w witrynie na żywo, która nie wymaga testów. Weźmy przykład:
- Załóżmy mój lokalny, inscenizację i witrynę, wszystko zaczęło się na rewizji 1.
- dokonać poważnych zmian lokalnie, zobowiązać je i zaktualizować serwera pomostowego. Lokalna i inscenizacja są w wersji 2, na żywo jest nadal 1.
- Ktoś prosi o prostą zmianę tekstu na stronie na żywo.
- Ugh. Teraz muszę przywrócić kopię lokalną do wersji 1, wprowadzić małą zmianę i zatwierdzić ją. Teraz aktualizuję witrynę na żywo do wersji 3, która ma niewielką zmianę.
- Chcę dalej pracować nad moimi dużymi zmianami, więc aktualizuję lokalną kopię do wersji 2 i dalej pracuję.
- I tak dalej ....
Zmusza mnie śledzić revsions i stale być aktualizowanie i powrotu. Czy istnieje lepszy sposób? Czuję, że mam tu używać rozgałęzień i tagów, ale nie rozumiem, jak dokładnie.
Dzięki Jonasz
+1 dla metody. Myślę, że twoja metoda jest prawdopodobnie bardziej odpowiednia dla stron internetowych. Często używam tagowania, ponieważ krytyczne jest to, że mój zespół zawsze może uzyskać dokładny kod do wszystkiego, co kiedykolwiek zostało wydane, ale widzę, że nie jest to tak trudne wymaganie dla większości stron internetowych. –
@Andy: Rzeczywiście. Aktywna witryna widzi tak wiele poprawek i publikuje przez cały okres jej istnienia, że izolowanie poprawek z gałęziami powoduje znacznie więcej narzutów.Twoja metoda jest bardziej odpowiednia dla projektów, które mają oczywiście różne "wersje", które mogą być dostępne w terenie. Jednak dla projektu, który widzi wiele małych zmian i dla których istnieje tylko jedna "wersja", rozróżnienie tagowania i rozgałęziania każdej poprawki błędów jest mniej użyteczne. – Shaun