W końcu przekonałem się, że zacznę używać pewnego rodzaju kontroli wersji dla mojego kodu zamiast spakować kopię projektu na koniec każdego dnia.
Pobrałem Tortoise SVN i użyłem go do utworzenia lokalnego repozytorium na moim dysku twardym. Używam go już od 2 dni, ale muszę powiedzieć, że korzystanie z niego jest w rzeczywistości bardziej kłopotliwe niż ręczne kopiowanie projektu w Eksploratorze. Jasne, przechowujesz tylko zmiany przyrostowe, ale przy dzisiejszych tanich dyskach nie mogę powiedzieć, że to argument, gdy masz tylko małe projekty. Naprawdę nie znalazłem szybszego sposobu na przeglądanie starszych wersji moich plików.
To, czego chcę, to nieskończone cofanie, które jest całkowicie przezroczyste podczas kodowania, jeśli zapiszę plik, chcę kopię zapasową. Nie chcę się wymeldowywać, zameldować i nawet nie zaczynam przenosić plików. Nie próbowałem Time Machine na OS X, ale wygląda na to, że dokładnie tego szukam.
Czy taki program istnieje dla systemu Windows? Najlepiej za darmo i z jakimś systemem tagowania, dzięki czemu mogę oznaczyć znacznik czasu, gdy projekt działa itp.
Może powinienem dodać, że głównie pracuję sam na jednym komputerze.
Aktualizacja: Niektórzy z was pytali, dlaczego chcę tworzyć kopie zapasowe. Ponieważ pracuję sam, głównie pozwala mi to szybko zhackować rozwiązanie bez obawy, że coś się popsuje.
Odpowiedzi:
Myślę, że naprawdę nie doceniasz korzyści płynących z kontroli źródła. Jak zauważył Dustin, istnieje rozgałęzianie, łączenie i udostępnianie. Ponadto użycie systemu kontroli źródła pozwala łatwo zorientować się, kiedy ostatnio zmieniono każdy wiersz w kodzie. SVN może również śledzić historię plików, nawet jeśli zostaną zmienione nazwy lub przeniesione do innego katalogu. Scalanie może nawet rozwiązać problemy, nawet jeśli jesteś tylko 1 programistą, ponieważ możesz pracować na komputerze stacjonarnym, laptopie i innych komputerach bez obawy o zastąpienie zmian.
źródło
To byłoby automatyczne wersjonowanie (aby pozostać przy Subversion):
źródło
Nie należy mylić rozwiązań tworzenia kopii zapasowych z kontrolą wersji. Oba są ważne, ale mają różne cele. To, co powinieneś naprawdę zrobić, to użyć kontroli wersji (svn, cvs, mercurial, git, cokolwiek) i automatyczne tworzenie kopii zapasowej w innym miejscu niż dysk twardy, najlepiej poza witryną (płatny host lub S3). Lub przejdź w 100% zdalnie i znajdź kogoś, kto będzie gospodarzem Twojego repozytorium SVN. Sugerowałbym Unfuddle . Możesz skonfigurować bezpłatne repozytorium SVN bez większych problemów.
Ugryź pocisk i użyj SVN. To może nie być tak łatwe, jak to, do czego jesteś przyzwyczajony, ale kiedy musisz wykonać bardzo konkretne wycofanie lub porównać zmiany między plikami, będziesz zadowolony.
źródło
Sprawdź FileHamster @ http://www.mogware.com/FileHamster/ . Automatycznie tworzy kopie zapasowe plików jako wersji za każdym razem, gdy się zmieniają.
źródło
Pełne ujawnienie: Pracuję dla Altaro Software.
Jeśli chcesz mieć wehikuł czasu dla systemu Windows, przejdź do „Ups! Utwórz kopię zapasową listy BETA
Jesteśmy nową firmą programistyczną Altaro Software i opracowujemy produkt do tworzenia kopii zapasowych / kontroli wersji oprogramowania o nazwie „Ups! Utworzyć kopię zapasową'. Ups! Backup to hybryda między tradycyjnym produktem do tworzenia kopii zapasowych a lekkim systemem kontroli wersji. Ups! Kopia zapasowa automatycznie śledzi zmiany w dokumentach, zdjęciach i innych plikach oraz umożliwia powrót do dowolnego punktu w czasie. W pewnym stopniu jest to odpowiednik Time Machine na Windows.
Należy pamiętać, że powiedziałem lekką kontrolę wersji - nie jest to produkt, który ma zastąpić właściwy produkt do kontroli wersji. Nasi programiści używają SVN i Ups! Kopia zapasowa w tym samym czasie. Używają VSN do prawidłowej kontroli wersji z funkcjami pobierania / wylogowywania, ale także używają Ups! Kopia zapasowa chwil Ups, które czasami dostają i muszą szybko znaleźć poprzednią wersję pliku bez konieczności przechodzenia przez cały proces kasy.
Dużo zainwestowaliśmy w wrażenia użytkownika ORAZ słodycze - ponieważ rozumiemy, że eyecandy NIE oznacza wrażenia użytkownika.
Wkrótce wejdziemy w BETA i szukamy testerów BETA - każdy, kto chce ją wypróbować, sprawdź http://www.altaro.com/download.php . Na tej stronie można również zobaczyć zrzuty ekranu produktu.
Wasze opinie i konstruktywna krytyka byłyby bardzo mile widziane (chciałbym usłyszeć złe rzeczy ... więcej niż dobre rzeczy)
Jak powiedziałem wcześniej - Ups! Kopia zapasowa nie zastępuje potrzeby odpowiedniego produktu do kontroli wersji - ale ją uzupełnia. Może być używany jako sposób kontroli wersji, ale wtedy nie będziesz mieć odprawy / wyrejestrowania, a rozgałęzienie musiałoby zostać wykonane ręcznie przez utworzenie nowego folderu.
Przepraszam za wtyczkę !!
David Vella - [email protected]
źródło
Rozwiązanie bardzo podobne do Time Machine zostało zaprezentowane jakiś czas temu w niemieckim czasopiśmie c't. Chociaż sam artykuł jest dostępny za 60 centów, same skrypty są bezpłatne: http://www.heise.de/ct/ftp/06/09/126/
Zasadniczo używa rsync do tworzenia kopii zapasowych danych na zewnętrznym sformatowanym dysku NTFS. Przy każdej nowej kopii zapasowej przechowuje tylko nowe pliki na dysku z kopią zapasową, ale tworzy dowiązania twarde do wszystkiego innego. Skutecznie zobaczysz pełną strukturę folderów dla każdej kopii zapasowej, ale wykorzystaj tylko miejsce potrzebne do pierwszej pełnej kopii zapasowej + wszelkie zmiany, które pojawią się później.
Nie jest tak fantazyjny jak Time Machine, ale jest to ta sama technologia (Time Machine używa rsync, o ile wiem) pod przykryciem.
źródło
Time Machine to dość zwyczajne rozwiązanie do tworzenia kopii zapasowych / przywracania. Użyj dowolnego narzędzia do tworzenia kopii zapasowych systemu Windows z automatycznymi codziennymi przyrostowymi kopiami zapasowymi i masz prawie to samo. Jednak nawet jeśli możliwe jest przywrócenie poprzednich (codziennych) stanów, może nie być najszybszym rozwiązaniem.
źródło
SVN nie jest zbyt skuteczny dla programistów solo. Sprawdź BZR . Używam BZR do wszystkich moich osobistych projektów i mojego katalogu domowego, używam SVN tylko do dużego projektu roboczego.
źródło
Genie Timeline 2.0 jest dostępna od zeszłego tygodnia.
Wiem, wiem, „kolejna wtyczka na osi czasu!” ... ale nie jest.
Oś czasu 2.0 została całkowicie przepisana i do tej pory ogólny konsensus w sieci był bardzo pozytywny.
Co najważniejsze, prawie wszystkie funkcje są dostępne w nowej bezpłatnej edycji Genie Timeline.
Specyfikacje Genie Timeline 2.0 Free: http://www.genie-soft.com/Free_products/free_timeline.aspx
Pobierz: http://download.cnet.com/Genie-Timeline-Free/3000-2242_4-10967059.html?tag=mncol
Płatne wersje produktu dodają szyfrowanie, kompresję i automatyczne czyszczenie starszych kopii zapasowych.
UJAWNIENIE: Byłem liderem projektu w wersji 2.0
źródło
Co chcesz zrobić z kontrolą źródła / wieloma kopiami zapasowymi?
Moim zdaniem istnieją dwa powody kontroli kodu źródłowego - zarządzanie konfiguracją i ochrona przed problemami / głupotą palców programistów (co w dużej mierze udowodniłem). Jeśli ten drugi problem, to poniższe sugestie (lub FileHamster, jak zalecono w innej odpowiedzi) wykonają zadanie.
Jeśli, jak sugeruje Dustin Getz, dotyczy zarządzania konfiguracją, gałęzi itp., Wówczas zalecenia SVN lub innego programu do kontroli kodu źródłowego są lepsze niż moje sugestie.
Więc nie użyłem go i nie był darmowy (32 USD), ale pojawił się Google
TrackMyFiles - http://www.trackmyfiles.com/en/features/
Dostępna jest 60-dniowa wersja próbna, zgodnie z tą witryną
Lub, jeśli używasz Visty, masz wbudowaną funkcję kopiowania w tle. Zobacz http://en.wikipedia.org/wiki/Shadow_Copy
źródło
@Lukman i Paul, podoba mi się pomysł tych uproszczonych systemów kontroli wersji dla zwykłych dokumentów, ale myślę, że błędem jest używanie ich do kodu źródłowego - niemożność rozgałęzienia, scalenia i udostępnienia naprawdę cię powstrzyma.
źródło
Kilka myśli:
Może ci się spodobać SVK, który wydaje się być wtyczką do SVN. Sam tego nie próbowałem, ale wygląda interesująco.
http://svk.bestpractical.com/view/HomePage
Narzędzia takie jak Trac zapewniają porządne przeglądanie repozytorium SVN i warto je sprawdzić.
Jeśli masz problem ze znalezieniem odpowiedniego żargonu do wyszukania, wyszukaj „migawki”. Możesz również chcieć wbudować jakiś proces archiwizacji do swojego systemu kompilacji, aby za każdym razem, gdy wykonujesz make, automatycznie otrzymywałeś migawkę (lub cokolwiek, co ma sens w twojej sytuacji).
źródło
Mam cron (wyszukaj google i wybierz taki, który ci się podoba), a następnie skrypt wiersza poleceń, aby uruchamiać pkzipc na moich folderach z sosem co kilka godzin. kiedy przywiązałem początek crona do mojego startupu, właśnie go uruchomiłem i zapomniałem. uratował mnie 1 raz, gdy w późnym nocnym zamrożeniu mózgu napisałem del / f / s * .cs
źródło
Windows Vista Business, Enterprise i Ultimate mają wbudowaną tę funkcję;)
źródło
Warto to sprawdzić, jeśli interesuje Cię Time Machine firmy Apple i masz system operacyjny Windows.
http://www.genietimeline.com
Beta zostanie wkrótce wydana ... Możesz się na nią zapisać ... Nie mogę się doczekać, aż dostanę Genie Timeline ...
Najwyraźniej jego funkcje obejmują Realtime CDP, niekończące się wersjonowanie plików, automatyczne tworzenie kopii zapasowych, integracja okna z rdzeniem ... Od wieków czekam na wydanie tego rodzaju oprogramowania w systemie Windows ...
źródło
Sugeruję użycie kontroli wersji, którą możesz podłączyć do swojego IDE. Dzięki temu praca z nim jest dziecinnie prosta. Po prostu kliknij aktualizuj / zatwierdzaj w drzewie źródeł i gotowe!
źródło
Lubię przechowywać i pracować nad moimi projektami za pomocą Dropbox ( http://www.getdropbox.com/ ). nie tylko automatycznie tworzy kopię zapasową twojej pracy, ale także zachowuje poprawki dla ciebie.
źródło
Windows Server 2003 i nowsze wersje mają funkcję „ kopiowania w tle ”, która jest podobna do Time Machine, ale przeznaczona jest do pracy w sieciowym środowisku korporacyjnym. Jeśli naprawdę chcesz, możesz skonfigurować to lokalnie.
Byłoby to jednak gorsze rozwiązanie dla dobrej kontroli kodu źródłowego. Dzięki kontroli źródła możesz przeglądać pełną, szczegółową historię każdego wiersza kodu w bazie kodu. Trudno docenić jego wartość, dopóki tego nie wypróbujesz.
źródło
Nie jestem pewien, czy to proste narzędzie może pasować do Twojego celu: http://downstairs.dnsalias.net/revisionmanagement.html
źródło
Jeśli dosłownie szukasz „Time Machine dla Windows”: Windows Vista jest dostarczany z Time Warp (to jest kryptonim, zapomniałem, jak nazywa się gotowa funkcja). To właściwie to samo co Time Machine OS X, tylko z mniejszym szumem.
źródło
Wypróbuj Flashbake . Może tworzyć kopie zapasowe co n minut (za pomocą crona i prawdopodobnie Windows Scheduler) plików, które nie zmieniły się w ciągu kilku minut (może być 0). Potrzebny byłby Python, więc Cygwin lub ActiveState Pyton. Opiera się na git i jest przeznaczony dla typów nietechnicznych.
źródło
Możesz użyć vm i zrobić migawki, zanim wprowadzisz duże zmiany? Cofanie się w ten sposób jest dość bezbolesne - około 5 minut i gotowe :)
źródło
SlickEdit ma przyjemną funkcję podobną do tego, co opisujesz. Za każdym razem, gdy zapisujesz plik, nad którym pracujesz, tworzy on lokalną (różną) kopię zapasową. W wolnym czasie możesz przeglądać lokalną historię plików. Możesz użyć tego do uzupełnienia swojego repozytorium SVN, z którym SlickEdit może się również zintegrować.
źródło
możesz wypróbować Genie Timeline, to jak wehikuł czasu dla systemu Windows i możesz wrócić do potrzebnej wersji za pomocą suwaka czasu, aby wyświetlić każdą wersję http://www.genietimeline.com
źródło
Cygwin + rsync + skrypt Łatwe zautomatyzowane tworzenie kopii zapasowych w stylu migawek w systemach Linux i Rsync do obsługi starych wersji działa dobrze. Brak GUI.
źródło
www.FolderTrack.com robi dokładnie to, co chcesz. Oprogramowanie jest bezpłatne przy użyciu kodu rabatowego: bos
Jako wyłączenie odpowiedzialności pracuję w FolderTrack.
źródło
Mercurial jest idealny do tej pracy.
Ilekroć chcesz zrobić migawkę kodu, to wszystko, co robisz w wierszu poleceń:
hg commit
i gotowe!Jeśli chcesz przeglądać różne wersje pliku, jest to łatwe TortoiseHG graficznemu menu kontekstowemu po kliknięciu danego pliku prawym przyciskiem myszy.
Ponadto jest ładniejszy niż SVN, ponieważ nie zaśmieca wszystkich podfolderów ukrytymi katalogami .svn.
źródło