Używasz kontroli wersji podczas pracy w pojedynkę i przy małych projektach?


30

Bardzo często pracuję nad małymi projektami tylko dla siebie. Pracuję na jednej maszynie, ale ostatnio pomyślałem o użyciu kontroli wersji. Miałoby to pewne zalety, na przykład:

  • Nie muszę już dbać o lokalną kopię zapasową
  • Błędy można łatwo cofnąć
  • Historię można zachować

Ale z drugiej strony ma też pewne wady, na przykład:

  • Wymagane dodatkowe zasoby
  • Czas na konfigurację, przyzwyczajenie się itp.

Z własnego doświadczenia, czy warto korzystać z kontroli wersji, gdy pracujesz sam?


Moje dwa centy: korzystam z Mercurial i NetBeans, a najcenniejszą częścią VCS, z której korzystam (Mercurial) jest możliwość wprowadzania zmian, przeglądania zmian i ich usuwania (zatwierdzania) (pliki na raz lub cały projekt) w wolnym czasie. (NetBeans ma graficzną różnicę, która działa z Mercurialem). Pomaga mi to kontrolować to, co właśnie zrobiłem. Nasza firma ma inny system historii i tworzenia kopii zapasowych, więc zazwyczaj nie używam go do tego celu.
Bryan Field,

Odpowiedzi:


46

Tak.

Wystarczy jeden błąd, a sam się za to przekopiesz. Jesteś także w stanie wybrać, który system kontroli wersji (VCS) ma być używany. Jeśli istnieje jakakolwiek możliwość, że będziesz pracować w zespole programistów w przyszłości, jest to świetny czas, aby dać sobie praktyczne doświadczenie z VCS. SVN i Git (lub Mercurial) byłyby świetnymi punktami wyjścia i powinny zająć tylko kilka godzin, aby uchwycić podstawowe polecenia w każdym VCS.

Teraz obalić, co negatywne punkty ...

1) Wymagane dodatkowe zasoby

Tylko zasób wymagana jest przestrzeń na dysku. Ponieważ jest to niewielki procent (mniejszy w Git niż X ) całego kodu, nie sądzę, że będzie to problem. To też nie kosztuje.

2) Czas na konfigurację, przyzwyczajenie się itp.

Będzie to wymagało czasu, aby się tego nauczyć, ale dla każdego z nich jest tylko kilka godzin (jak wspomniano powyżej). W dłuższej perspektywie może potencjalnie zaoszczędzić nieskończoną ilość czasu (i wiele więcej). Gdy opanujesz podstawy VCS, będzie to znacznie mniej skomplikowane niż tworzenie lokalnej kopii zapasowej, którą masz na myśli.


5
+1: bardzo dobre punkty. Jednak nie polecałbym svn: nie pozwala on na dokonywanie zmian, gdy nie jest podłączony do Internetu, co czasami może być silnym ograniczeniem. Poleciłbym Git (dla zaawansowanych użytkowników) lub Mercurial (dla prostszego systemu).
Eric O Lebigot

7
Kolejny głos na Mercurial.
Chris Holmes

4
@EOL, SubVersion jest opłacalna w tym przypadku. Jeśli repozytorium jest lokalne, połączenie z Internetem nie jest wymagane do zatwierdzania. (Chociaż sugerowałbym, że repozytorium musi znajdować się przynajmniej na oddzielnym dysku od napędu programistycznego.)
Ken Henderson

1
@EOL: Ach tak, zapomniałem dołączyć Mercurial, ponieważ wcześniej go nie używałem; edytuje teraz. Podczas gdy (po użyciu Git) nie dotknąłbym SVN, gdybym musiał, SVN jest nadal powszechnie używany.
Jonathan Khoo

1
@ken svn z lokalnym repozytorium w dropbox jest idealny dla pojedynczego użytkownika
Martin Beckett

13

Tak. Użyj tego do wszystkiego. Użyj go do każdego dokumentu, który piszesz w programie Word. Użyj go do całego pisanego kodu. Użyj go do każdego tworzonego obrazu.

Ponadto, gdy nauczysz się go używać, będziesz lepiej, gdy będziesz pracować w środowisku zespołowym.


4
Jedynym problemem związanym z programem Word jest to, że jest on w formacie binarnym, więc nie można tego zrobić diff; kolejny powód do korzystania z LaTeX.
gablin

Jaki byłby sens używania go z obrazami?
Wieża

np. WinMerge może różnicować dokumenty Word i Excel
Simon

2
@Rook: celem użycia go z obrazami jest to, że jeśli edytujesz obraz, zawsze możesz wrócić do starej wersji, jeśli zajdzie taka potrzeba.
Alex D

9

Uwielbiam używać Git, gdy pracuję sam. Na przykład, pracując w PHP, po prostu tworzę repozytorium Git w moim lokalnym katalogu, który obsługuje Apache. Mogę łatwo rozpocząć pracę nad nową funkcją (w oddziale) i przetestować ją na moim komputerze lokalnym. Następnie, jeśli coś się pojawi i muszę dokonać „naprawy awaryjnej”, jest to proste:

git checkout master

Voila! Mój katalog roboczy powrócił do stanu sprzed mojego oddziału. Mogę dokonać szybkiej naprawy. Kiedy skończę, mogę wrócić do oddziału i dalej się rozwijać.

Krzywa uczenia się nie jest bardzo stroma, a online jest mnóstwo informacji, które pomogą Ci zacząć. Kop w to. To jest tego warte.


Git wraz z GitHub lub Gist są warte wysiłku w przypadku projektów solowych. Chronią cię przed sobą i naprawdę ułatwiają uzyskanie pomocy, gdy jesteś gotowy na zaangażowanie innych.
Rob Allen

5

Dziennik zmian zapewnia dobre miejsce do dokumentowania zmian bez zaśmiecania źródła.


2

Wybierz coś hostowanego jak SourceRepo. Nie jest zbyt drogi, ale korzystanie z kontroli źródła znacznie ułatwia cofanie błędów i przywracanie kodu.

W razie potrzeby możesz uzyskać do niego dostęp w dowolnym miejscu.


4
możesz być ostrożny przy przesyłaniu własności firmy na zewnętrzne serwery. w przypadku niektórych firm może to być w porządku, ale inne nie będą się na to zgodzić.
davidhaskins

1
Warto uważać. Submitter powiedział projekty dla siebie, więc założyłem, że jest to do użytku osobistego, ale zdecydowanie upewnij się, że menedżerowie liniowi są świadomi systemu, z którym decydujesz się przejść (szczególnie, jeśli są w chmurze).
James Love

2

Zawsze używałem git do mojego rozwoju, dopóki nie zdałem sobie sprawy, że mogę go używać również do innych celów. Więc spróbuj git, to da ci prawdziwe repozytorium, bez potrzeby serwera i stałego połączenia (to dla mnie duży plus); nie rozprzestrzenia podkatalogów twojego projektu z ukrytymi plikami i folderami, zamiast tego jest tylko jeden folder na górze projektu; możesz rzucić wszystko i sklonować wszystko, co chcesz i połączyć je ponownie, że to po prostu działa.


2

Jeśli szukasz bezpłatnego i wsparcia dla zamkniętego źródła, rzuciłbym okiem na Visual Studio Online. Jest bezpłatny dla maksymalnie 5 programistów i bycie samemu ... cóż ... tak. To jest post 4 lata później, więc Twoja sytuacja prawdopodobnie się zmieniła, ale dla innych indywidualnych deweloperów szukających łatwej kontroli źródła VSO jest jednym z moich ulubionych wyborów, jeśli nie chcę ujawniać mojego kodu źródłowego. IIRC Github jest darmowy tylko dla rzeczy open source, ale ich ceny są bardzo tanie. Zarówno VSO, jak i Github bardzo dobrze integrują się z Visual Studio, jeśli tak się stanie, to twoje IDE.


A VSO obsługuje teraz Git! Do widzenia stary, niezgrabny TFVC!
RubberDuck

1

Zawsze konfiguruję kontrolę źródła dla własnych projektów, z ciągłym środowiskiem integracyjnym, a także do budowania / uruchamiania testów jednostkowych / uruchamiania testów integracji za każdym razem, gdy się melduję. Dodatkowo, jeśli jest to aplikacja internetowa lub usługa Windows, mam to wdrażanie celów także. Zaoszczędziłem sobie niezliczone godziny debugowania i wdrażania przy użyciu tej metody i to nic w porównaniu z początkową konfiguracją.


1

Inną fajną cechą repozytoriów jest możliwość przeprowadzania bardzo ryzykownych eksperymentów / funkcji w innej branży. Jeśli to się uda, możesz scalić jako część głównego kodu. Jeśli tak się nie stanie lub zabraknie Ci czasu, możesz go porzucić (zapisać) i powrócić do głównego kodu z opcją powrotu do niego później bez zepsucia głównej bazy kodu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.