Jaka jest wartość korzystania z systemu kontroli wersji?

19

Jestem nowy w kontroli wersji (obecnie używam SVN), ale nie rozumiem, jak to pomaga programistom. Co robi kontrola wersji, która czyni ją użyteczną w środowisku programistycznym?

John Ryan
źródło
4
Wystarczy przeczytać Erica zlewie doskonałą kontrolę Źródło HOWTO-series: ericsink.com/scm/source_control.html . Co do reszty, nie ma tu zbyt wiele odpowiedzi ani dyskusji.
Deckard,
4
Kontrola źródła jest jedną z tych rzeczy, która wydaje się bezcelowa, dopóki jej nie potrzebujesz. Wtedy zdajesz sobie sprawę, że nie możesz się bez tego obejść. Niestety do tego czasu jest już za późno. Coś w rodzaju ubezpieczenia od powodzi, z tym wyjątkiem, że kontrola źródła ma o wiele większą użyteczność.
Rein Henrichs,
2
@rahmanisback chcesz po prostu zrobić File | New Project ... trzeba ją jak najszybciej trzeba> 1 deweloper na projekt (moja średnia linia jest> 0 programistów - i wierzę, że jest to bardziej prawdziwe niż kiedykolwiek)
Murph
8
Praca bez kontroli wersji przypomina trochę usunięcie polecenia „Cofnij” z edytora tekstu, którego używasz do pisania eseju, lub usunięcie wszystkich gumek i płynów korekcyjnych z biurka.
rwong
2
@rahmanisback Natychmiast po przypadkowym usunięciu pliku lub w inny sposób utraceniu danych. @rwong piękny analogii.
Rein Henrichs

Odpowiedzi:

21

VisualSVN i TortoiseSVN to tylko UI klientów do serwera SVN. Serwer SVN jest systemem kontroli źródła / wersji. System kontroli wersji jest kluczowym atutem dla każdego prawdziwego rozwoju, ponieważ przechowuje wersje Was kody źródłowe. W przypadku korzystania z systemu kontroli wersji zachować tylko lokalną kopię kodów źródłowych. Głównym kopia jest przechowywana w systemie kontroli wersji i zobowiązuje zmian w systemie.

SVN pozwala na:

  • łatwe udostępnianie kodów źródłowych całemu zespołowi poprzez centralne repozytorium
  • kopie zapasowe kodów źródłowych i innych plików zasobów związanych z projektem
  • zachowując historię jak zmieniła kody źródłowe
  • możesz przywrócić dowolną wersję przechowywaną w historii
  • można porównać zmiany między wersjami
  • widać, kto dokonał zmian
  • można zablokować plik do wyłącznego dostępu więc nikt inny nie może pracować na pliku
  • można zobaczyć, kto pracuje na dowolny plik lub kodu źródłowego, który zablokował plik
  • możesz scalić zmiany w przypadku równoległej pracy nad tym samym plikiem
  • możesz zobaczyć komentarze związane z zatwierdzonymi zmianami
  • dzięki dodatkowym narzędziom możesz powiązać zatwierdzone zmiany z zadaniami
  • możesz oznaczyć / oznaczyć wersję, aby łatwo znaleźć na przykład wydania produkcyjne
  • możesz rozgałęzić kod źródłowy - stworzyć równoległe wersje, w których jedną gałąź można uznać za główną, a drugą można wykorzystać do przetestowania jakiejś specjalnej funkcji lub do dalszego rozwoju nowej wersji produktu, podczas gdy poprawki do bieżącej wersji produkcyjnej są naprawione w głównej Oddział
  • możesz scalić zmiany między oddziałami
  • itp.

VisualSVN jest rozszerzenie do Visual Studio, który pozwala za pomocą repozytorium SVN bezpośrednio z Visual Studio UI. TortoiseSVN to rozszerzenie do Eksploratora Windows, który pozwala za pomocą repozytorium SVN bezpośrednio podczas przeglądania folderów i plików.

Ladislav Mrnka
źródło
+1. Haaa .. po użyciu VCS od ponad dekady bardzo trudno jest odpowiedzieć „dlaczego”. Znaczy to tylko tak oczywiste - ale naprawdę trudno wyrazić naprawdę „dlaczego” tak, jak to zrobić! Świetna odpowiedź.
Dipan Mehta
Wierzę AnkhSVN sprawia również pracę zabójcy integrującej SVN w Visual Studio.
Saul Delgado
6

kontrola wersja oferuje szereg rzeczy:

  • Zarchiwizuj swoje oprogramowanie, abyś mógł zobaczyć stan, w jakim był w poprzednich punktach czasowych. Bardzo przydatny do znalezienia miejsca wprowadzenia błędu.
  • Pozwalają programistom na wielokrotne tego samego projektu do udziału i koordynować ich pracę, pomagając w celu ochrony przed zastąpieniem każdą pracę innych.
  • Wspierania indywidualnego i biznesowego ciągłość szczególnie za pośrednictwem centralnego serwera, który jest chroniony i kopii zapasowej.

Jest to minimum dla wszelkich prac programistycznych poza majstrowaniem, aby zobaczyć, co się stanie.

Zawsze ostrzec każdego, kto pracuje z systemem kontroli wersji po raz pierwszy, że unika ona zapraszając tylko kłopoty. Oni BĘDZIE napotkasz problem, że gdy spojrzeć wstecz one BĘDZIE sobie sprawę, że by się nie stało gdyby używali systemu.

znak
źródło
0

Najbardziej wydajne deweloper jest sam. Samotny programista nigdy nie musi się martwić koordynacją z nikim innym. Ale gdy tylko projekt przejdzie w liczbie mnogiej, pojawia się narzut. A dla każdego programisty dodanego do zespołu koszty ogólne stają się coraz gorsze. Zadaniem VCS jest zarządzanie tym kosztem i minimalizowanie efektów.

http://www.ericsink.com/vcbe/html/dvcs_private_workspace.html

Jace Browning
źródło
8
Nawet samotny programista potrzebuje kontroli wersji. VCS nie tylko „zarządza kosztami ogólnymi”, jak sugeruje ten cytat.
alroc
5
Nawet samotny programista może zdać sobie sprawę, że tydzień temu zrobił coś złego i chce odzyskać stary kod. Nawet samotny programista może chcieć wypróbować duży, złożony zestaw refaktorów, nie ryzykując oryginalnej bazy kodu.
Gort the Robot
Myślę, że aspekty „tworzenia kopii zapasowych” i „przywracania” kontroli wersji są oczywiste dla większości, ale dopiero wtedy, gdy zdasz sobie sprawę, w jaki sposób kontrola wersji pomaga zmniejszyć narzut związany ze współpracą, ktoś naprawdę rozumie jej wartość.
Jace Browning,