System kontroli wersji - czy warto, jak zaczac?

0

Witam.
Mam pytanie odnośnie systemów kontroli wersji - czy warto z tego korzystać pisząc samodzielnie aplikacje? Jakie wynikają z tego korzyści? (poza tym, że będzie mi łatwiej w pierwszej pracy : P) Jakie rozwiązania polecacie dla C# ( vs 2013 )?

4

Warto. Szczególnie jak piszesz coś większego niż kilka linijek. Nie powiesz mi ze nie zdarzało ci się ze nagle coś się popsuło w kodzie i nie wiedziałeś gdzie zmieniłeś że przestało działać. Jak uzywasz VCS to jednym klikiem mozesz to sprawdzić i ewentualnie wycofać zmiany.

1

Raczej warto, choć najlepiej sprawdzi się to w pracy zespołowej. Można z tego skorzystać choćby po to, aby nauczyć się korzystać z takiego systemu i go zrozumieć. Polecam Gita niezależnie od języka.
Z ciekawostek, IntelliJ ma wbudowaną historię zmian plików lokalnych. Nie jest to, co prawda, system kontroli wersji, ale pomaga w śledzeniu zmian i znalezieniu ewentualnych błędów we własnym kodzie. Inne narzędzia JetBrains pewnie mają podobne funkcjonalności. Do C# jest Resharper. Nie wiem, czy w VS jest taka funkcjonalność.

0

Zdecydowanie warto.
Obecnie dziadek SVN nadal jest popularny, ale obecnie coraz powszechnie stosuje się DVC-sy zwłaszcza git-a i mercurial-a.
Umiejętność posługiwania się kontrolą wersji jest jedną z najważniejszych umiejętności dla pracodawcy.
Im większe projekty będziesz pisał tym bardziej kontrola wersji stanie się niezbędna, a w momencie pisania czegoś w kilka osób kontrola wersji jest po prostu niezbędna.

Polecam git-a jest bardziej trudny w użyciu (ma kretyńskie mało intuicyjne monolityczne komendy do robienia miliona rzeczy), ale za to ma bardzo duże możliwości manipulowania kodem i obecnie staje się standardem branżowym.

0

Jak jesteśmy przy temacie to stosujecie raczej bezpośrednie polecenia do gita, jakieś gotowe skrypty czy korzystacie z programów typu tortoise czy SmartGitHg ew. wtyczek do środowiska. Czy zależy to od języka i projektu?

0

A jaki zakres materiału według was obejmuje znajomość gita na takim poziomie aby można było to spokojnie wpisać do cv?

1

@theFex umiesz komitować, pushować, mergować i przepinać się między gałęziami ;]

0

Jeśli to git to zdecydowanie warto nawet jeśli sam pracujesz nad projektem. Przy svn to nie bardzo dla samodzielnej pracy.
Przy okazji wolę konsolę niż wsparcie do IDE. Polecenia gita są na tyle proste (tzn. te podstawowe do pracy, a nie wszystkie), że nie ma sensu korzystać ze wsparcia.
Tak poza tym możesz korzystać z zewnętrznego hostowania projektów jak np. github czy bitbucket (ten polecam, jeśli nie jesteś fanem open-source).

1

kolejność uczenia się podstawowych komend
git init/git clone trzeba złożyć/sklonować repozytorium, by mieć na czym pracować.
git add dodawanie plików do kontroli wersji
git commit zapamiętanie wersji
git checkout -b tworzenie branch'a dla bieżącego commita
git checkout <hash/nazwa commita> przeskakiwanie między wersjami
git merge <hash/nazwa commita> łącznie różnych gałęzi historii
git push wysyłanie zmian do innego repozytorium
git fetch pobieranie zmian z innego repozytorium
git pull pobieranie zmian i automatyczne łącznie (merge)

1

Tak właśnie mi się przypomniało. Jeśli chcesz na szybko poznać Gita to masz tutaj http://go.codeschool.com/6m4Fhw 2 dni za darmo na CodeSchool (działa też dla istniejących kont). Tam są 3 kursy (z czego 2 płatne, więc zrób je w te 2 dni).

1 użytkowników online, w tym zalogowanych: 0, gości: 1