Programuję na pulpicie w biurze, ale czasem też w domu w innym pokoju na laptopie, a nawet poza domem. Potrzebuję systemu, który automatycznie lub w razie potrzeby synchronizuje moją pracę z jedną na drugą.
Nie mam konfiguracji sieci domowej i chociaż myślę, że mógłbym to zrobić, być może byłoby to pytanie dla innej płyty. Myślałem o jakimś systemie, który utrzymywałby kod źródłowy w chmurze, ale nie wiem wystarczająco dużo o tym, aby zacząć. Potrzebuję do tego darmowego lub taniego sposobu.
Pracuję w .NET (w rzeczywistości Windows Phone 7).
version-control
Cyberherbalist
źródło
źródło
Odpowiedzi:
Najprostszym sposobem jest użycie jednego z systemów online. Kasa GitHub lub BitBucket . Aby uzyskać więcej informacji na temat Git lub Mercurial, sprawdź odpowiednio Git Reference i Hg Init .
źródło
Możesz użyć DVCS, takich jak Git lub Mercurial, które mogą utworzyć lokalne repozytorium, a następnie zainstalować Dropbox i umieścić folder projektu (w tym oczywiście folder repozytorium) w folderze dropbox.
Dropbox zajmie się synchronizacją i może obsłużyć sytuację offline, o ile modyfikujesz tylko w jednym miejscu między synchronizacją.
BTW Dropbox domyślnie nie udostępni twoich plików publicznie, ale możesz je ujawnić, jeśli chcesz.
EDYTOWAĆ
Jeśli chodzi o integralność repozytorium w przypadku, gdy Dropbox nie zsynchronizuje jednego lub dwóch plików, możesz utworzyć główne repozytorium poza folderem Dropbox na głównym komputerze i pchać się do niego. Więc jeśli lokalne repozytorium w folderze Dropbox ulegnie uszkodzeniu, po prostu przywróć z głównego komputera. Ale nie doświadczyłem uszkodzenia repozytorium.
źródło
Oto kilka szybkich instrukcji dotyczących konfiguracji rozproszonego VCS. Zaletą korzystania z git lub mercurial jest to, że nie trzeba konfigurować serwera, aby wszystko działało, ponieważ repozytorium jest tylko systemem plików. Masz lokalne repozytorium na komputerze obok kodu (w git jest jeden
.git
folder, aw mercurial jeden.hg
folder na ścieżce projektu).Korzystanie z git
Krok 1: Pobierz i zainstaluj git. W systemie Windows możesz użyć TortoiseGit . Niektóre uwagi dotyczące instalacji są tutaj .
Krok 2: Postępuj zgodnie z instrukcją społeczności git, aby zainicjować lokalne repozytorium dla twojego projektu i zatwierdzić w repozytorium.
Krok 3: Aby umieścić rzeczy w „chmurze”, czyli github, możesz wykonać ten samouczek .
Korzystanie z Mercurial
Krok 1: Pobierz i zainstaluj mercurial. W systemie Windows możesz użyć TortoiseHg .
Krok 2: Postępuj zgodnie z Przewodnikiem Szybki start, aby utworzyć repozytorium dla swojego projektu i zatwierdzić w repozytorium.
Krok 3 Aby umieścić rzeczy w „chmurze”, czyli bitbucket, możesz wykonać ten samouczek .
Jeśli pracujesz w .NET, możesz chcieć użyć Mercurial ze względu na (w pewnym sensie) lepszą obsługę Windows w momencie pisania.
źródło
Jak już słusznie powiedzieli @ peter-rowell i inni, najprostszym sposobem jest użycie dowolnego z DVCS, takich jak Git i odpowiednich systemów online, takich jak Github lub Unfuddle. Osobiście używam Git i Unfuddle.
Ponieważ wspomniałeś, że uzyskanie połączenia internetowego w domu również nie stanowi problemu, pojawiło się nowe IDE online, które działa w przeglądarce i żyje w chmurze. Nie wiedziałem, że wcześniej coś takiego było dostępne, ale wygląda to bardzo interesująco i fajnie. Chociaż nie używałem go zbyt często, ale jest fajny.
źródło
Prawie każdy DVCS pomógłby.
Najpopularniejsze to Git, merkurial i kilka innych; ale naprawdę lubię Fossil . Jest to pojedynczy (mały!) Wykonywalny, łatwy w przenoszeniu, niezależny, wieloplatformowy i zawiera wiki, graficzny interfejs użytkownika, system zgłoszeń, procedurę obsługi dokumentacji itp.
źródło
Opcją, którą sugerowałbym, byłby piec . Tworzą go ci sami ludzie, którzy tworzą FogBugz i Stack Exchange. Powinno to być całkiem dobre, a także, jak sądzę, bezpłatne dla maksymalnie 3 użytkowników. Skala jest podobna do FogBugza, a obie można zintegrować, dzięki czemu możesz śledzić błędy i funkcje.
Tak jak powiedział Joel w jednym ze swoich postów na blogu, śledzenie błędów i kontrola źródła są zawsze zaletą, nawet dla samotnego programisty.
źródło
Jeśli prywatność Twojego kodu nie stanowi problemu, Google Code może być realnym rozwiązaniem. Zajmuje się częścią hostingową, jest bezpłatny i dość łatwy w konfiguracji. Obsługuje Subversion, Mercurial i Git, które wszystkie mają klientów Windows. Integruje się również z identyfikatorami Google ID, dzięki czemu można łatwo dodawać współpracowników do projektu. Prowadzę tam moje projekty hobby za pomocą Mercurial. Mam klienta TortoiseHg zainstalowanego zarówno na moim komputerze domowym, jak i służbowym, więc mogłem pracować nad swoimi projektami podczas przerw.
źródło
To zależy od Twojej wiedzy na temat konfigurowania serwera i czasu, który chcesz zainwestować.
Osobiście wypożyczyłem mały serwer wirtualny od hosta i zainstalowałem serwer Apache Webserver zintegrowane repozytorium Subversion (które teraz konwertuję na git). Konfiguracja naprawdę nie jest aż tak duża, a po uruchomieniu nie musisz się już o to martwić. Ta konfiguracja ma tę zaletę, że możesz nie tylko skonfigurować repozytorium kontroli wersji, ale także inne rzeczy, do których chcesz uzyskać dostęp z dowolnego miejsca (zainstalowałem na przykład WIKI i narzędzie do śledzenia problemów).
Jeśli to dla ciebie za dużo, zawsze możesz skorzystać z sugerowanych systemów online, takich jak GitHub.
źródło
Najłatwiej jest iść z dostawcą git, github ma możliwość zapłaty za prywatne konto.
Ale nie zapomnij o svn, jest prosty i łatwy w użyciu. Możesz zainstalować serwer svn gdzieś, gdzie możesz go osiągnąć, prawdopodobnie w pracy. (A projekt podobny do serwera Visual SVN sprawia, że jest to naprawdę łatwe w systemie Windows.) Jako klient możesz użyć wtyczki Visual Studio lub tortoisesvn.
Jedyną rzeczą, o której musisz pamiętać, jest to, że musisz zatwierdzić i zaktualizować po zmianie komputera.
źródło
git init
), kilka sekund. Przy subversion potrzebujesz najpierw serwera, który jest o wiele trudniejszy niż tylko uruchamianiegit/hg init
w twoim katalogu. Jestem niecierpliwy i leniwy, a Git zachęca mnie do korzystania z SCM, ponieważ (łączenie, inicjowanie, zatwierdzanie) jest tak szybkie i bezbolesne.Używam Beanstalk . Działa świetnie dla mnie jako osobisty serwer SVN. Mają także hosting Git, ale nie próbowałem. Mają darmowe konto na początek, a następnie możesz przejść na konto płatne, jeśli to konieczne.
źródło
Dropbox
Wszystkie pozostałe rozwiązania są nadrzędne w stosunku do twoich potrzeb:
Wystarczy zainstalować Dropbox na obu komputerach.
Pełna kontrola źródła jest przyjemna, ale w twojej sytuacji nie jest potrzebna IMHO .
Jest to najłatwiejsza i najprostsza ścieżka do wyboru -> kończysz z automatyczną synchronizacją folderów na dowolnej liczbie komputerów.
źródło
git init
,git add .
,git commit -m "bla"
To jest o wszystko, co trzeba wiedzieć, aby popełnić jakiś kod. Nie trudne i masz poczucie, że możesz to cofnąć. Oczywiście korzyści są znacznie ważniejsze w zespole, ale lubię być w stanie zresetować do punktu w czasie, jest to ważne. Możliwość rozgałęziania się i magazynowania sprawia, że jestem również bardziej produktywny.