GAndaLF Napisano Wrzesień 29, 2013 Udostępnij Napisano Wrzesień 29, 2013 Jeżeli kiedykolwiek pracowałeś nad większym projektem, na pewno: Bałeś się przystępować do większych zmian żeby nic nie zepsuć, a jak już musiałeś je zrobić, zabezpieczałeś się wieloma backupami. Zaśmiecałeś sobie dysk folderami typu projekt1, projekt2. Wykomentowywałeś duże bloki kodu, żeby dało się je szybko przywrócić jeśli coś przestanie działać. Przypadkowo kasowałeś jakiś ważny fragment, plik, albo nawet traciłeś cały projekt w wyniku awarii, formata itp. W trakcie wprowadzania dużej zmiany musiałeś szybko zrobić małą poprawkę gdzie indziej. Wpadałeś na pomysł dotyczący nowej funkcjonalności, ale najpierw musiałeś dokończyć co innego i o nim zapominałeś. Ciężko było udostępniać kod innym i rozmawiać o konkretnych fragmentach tak żeby było wiadomo o co chodzi. UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.Przeczytaj całość »Poniżej znajdują się komentarze powiązane z tym wpisem. Cytuj Link do komentarza Share on other sites More sharing options...
AVRHobby Wrzesień 30, 2013 Udostępnij Wrzesień 30, 2013 Artykuł jest wręcz bajeczny ale wydaje mi się, że lepiej pasował by na 4p**s.pl niż tu. No chyba że mówimy o jakichś systemach wbudowanych i mega projektach sterowania fabryką, bo patrząc na podpis pod logiem "robotyka amatorska" to nie wiem czy ktoś by się w tym maczał budując linefollowera w odróżnieniu do programisty aplikacji webowych. Cytuj Link do komentarza Share on other sites More sharing options...
Harnas Wrzesień 30, 2013 Udostępnij Wrzesień 30, 2013 Ja używam od dłuższego czasu repozytorium Github (tylko lokalnie). Bardzo przydatne narzędzie dla każdego programisty. Nie ważne czy ktoś robi strony internetowe, gry czy programuje minisumo. Przykładowo: mamy w miarę stabilną wersje programu do naszego robota, ale program dalej rozwijamy. Jeżeli na zawodach coś nie działa, szybko odnajdziemy ostatnią stabilną wersje programu. Ułatwia to też lokalizowanie czy powodem że coś nie działa jest błąd sprzętowy (pęknięta ścieżka czy jakiś styk) czy któraś z funkcji dodana przedwczoraj. Cytuj Link do komentarza Share on other sites More sharing options...
GAndaLF Wrzesień 30, 2013 Autor tematu Udostępnij Wrzesień 30, 2013 Artykuł jest wręcz bajeczny ale wydaje mi się, że lepiej pasował by na 4p**s.pl niż tu. No chyba że mówimy o jakichś systemach wbudowanych i mega projektach sterowania fabryką, bo patrząc na podpis pod logiem "robotyka amatorska" to nie wiem czy ktoś by się w tym maczał budując linefollowera w odróżnieniu do programisty aplikacji webowych. Moim celem było pokazanie, że istnieje możliwość takiego podejścia do prowadzenia projektów i może przynieść wiele korzyści. Dzięki temu każdy może samemu ocenić czy mu się to przyda i w jakim zakresie. Kontrola wersji może być niesamowicie przydatna nawet jeżeli zajmujemy się czymś małym. Ja na przykład używam kontroli wersji do projektów na uczelnię w matlabie, dokumentów tekstowych w LaTeX czy programów na mikrokontrolery i PC. Najchętniej używał bym jej do każdej pracy którą robię na komputerze i która zajmuje mi więcej niż godzinę. W zależności od skali projektu decyduję, czy wystarczy mi lokalne repo, czy stawiam projekt z centralnym serwerem, trackerem i wiki. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Treker (Damian Szymański) Październik 1, 2013 Udostępnij Październik 1, 2013 Ja również swoje projekty związane z robotami zacząłem przechowywać jakiś czas temu w repozytorium na serwerze, jest to bardzo wygodne. W moim przypadku, głównie zależało mi na dostępności najnowszej wersji kodu na każdym komputerze. Cytuj Link do komentarza Share on other sites More sharing options...
Marooned Październik 1, 2013 Udostępnij Październik 1, 2013 Artykuł jest wręcz bajeczny ale wydaje mi się, że lepiej pasował by na 4p**s.pl niż tu.Chyba .net? 🙂 Chociaż fakt, że mamy przekierowanie. Ja głównie korzystam z Subversion i to nie tylko do projektów firmowych, ale nawet do tak banalnych rzeczy, jak synchronizacja skryptów Greasemonkey w Firefoksie na dwóch kompach. A dzięki kontroli wersji łatwiej rozwiązać konflikt i utrzymać spójność jeśli modyfikuję na dwóch maszynach. Ostatnio udzielałem się w projekcie (ArduPilot) opartym o Gita, ale muszę przyznać, że nie rozumiem w pełni jego niektórych mechanizmów i praktycznie co każde wysłanie zmian miałem wielki konflikt nawet na plikach, których nie zmieniałem. SVN jest jednak o wiele prostszym narzędziem. Cytuj Link do komentarza Share on other sites More sharing options...
Macio Październik 1, 2013 Udostępnij Październik 1, 2013 Dla mnie GIT był łatwiejszy do ogarnięcia niż SVN 😉 Każdemu odpowiada co innego. Ja swój kod do MM od dłuższego czasu utrzymuję na repozytorium. Aktualnie nie wyobrażam sobie nie korzystać z systemu kontroli wersji. Przykładowo za 2-3 tygodnie są zawody, mój micromouse jeździ całkiem dobrze i jest dobrze przetestowany. Chcę jednak zmienić coś w sterowaniu robota albo algorytmach wyszukiwania. Tworzę branch'a, modyfikuję kod, dopisuję nowe funkcjonalności. Jeśli zdążę zaimplementować i przetestować nowy kod to bardzo fajnie. Jeśli nie, to zawsze mam dostęp do ostatniej działającej wersji. Dla mnie lepszym (wygodniejszym) rozwiązaniem jest korzystanie z GIT'a. Jest to rozproszony system kontroli wersji, więc całą historię zmian mam dostępną na swoim komputerze. W przypadku SVN'a wszystkie zmiany są przechowywane na serwerze, natomiast lokalnie mamy dostęp tylko do jednej wersji oprogramowania. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Październik 27, 2013 Udostępnij Październik 27, 2013 Po krótkim namyśle przeniosłem swoje projekty z własnego SVN na rozwiązania proponowane przez Ciebie. Wszystkie przebiegło bez problemu i jestem bardzo zadowolony 😉 Cytuj Link do komentarza Share on other sites More sharing options...
sosnus Luty 14, 2016 Udostępnij Luty 14, 2016 próbowałęm zintegrować jakiś system kontroli wersji z Atmel Studio, pobrałem program "Git Extension" coś poklikałem i straciłem dostęp do jednego z najważniejzych projektów 🤯 Nie wiem co mnie skłoniło na testowaniu tego czegoś na tak ważnym projekcie, ale myślałem że za pomocą tych programów chyba nie da się zepsuć projektu... Według właściwości eksploratora plików Windows, projekt ma 61 plików, ale przeglądając ręcznie to w środku nie ma nic... podobnie przy kopiowaniu. Mam zablokowane prawa do odczytu i edycji tych plikó, i nei mogę cofnąć tych uprawnień... Polecenie tree z cmd również nie widzi tych plików... co teraz mam zrobić? Z tego co widzę to wszystko to wynika z jakiejś mojej manipulacji przy ignorowaniu plików z projektu. Wygląda jak by folder był zablokowany przez Gita, a zarzem nie istnieje plik gita zarządzający tym folderem... Przepraszam za chaotyczny opis problemu, ale nie mam kompletnie pojęcia co się stało z moim projektem Czy jest możliwe że git bezpowrotnie usunął moje pliki? Czy jeżeli coś zostało usunięte przez gita, mogę to w jakiś sposób przywrócić? Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Luty 14, 2016 Udostępnij Luty 14, 2016 Nie używałem git-a pod windą, ale na "normalnych" systemach repozytorium przechowywane jest w podkatalogu .git projektu. Ponieważ pliki o nazwach zaczynających się od kropki są ukryte, nie widać ich w katalogu - może windows robi podobną sztuczkę? Sprawdź, czy w katalogu z projektem nie masz jakiegoś ukrytego folderu. Myślę, że taki folder będzie, skoro eksplorator widzi 61 plików... [ Dodano: 14-02-2016, 10:23 ] Git oczywiście może usunąć pliki, ale z tą bezpowrotnością to bym nie przesadzał. Nigdy nie należy uczyć się nowych narzędzi na ważnych danych - albo chociaż najpierw trzeba robić kopię bezpieczeństwa. Teraz powinienes od tego zacząć, zrób kopię katalogu z projektem (albo spakuj zip-em czy innym programem). Nie jak działą "git extension", ale sam git to bardzo stabilne narzędzie i nie robi nic, bez zgody użytkownika. Tylko nie wiem, co mu kazałeś zrobić 🙂 Natomiast samo "zablokowanie" plików to tylko atrybut "read-only" - wystarczy w explorerze otworzyć właściwości i skasować atrybut. Więc to nie problem. 1 Cytuj Link do komentarza Share on other sites More sharing options...
sosnus Luty 14, 2016 Udostępnij Luty 14, 2016 Na początek powiem że doszedłem do wniosku że lepiej będzie z głowy zmodyfikować ostatni backup i zrobić z niego coś bardzo zbliżonego do projektu który straciłem. Już udało mi się to ręczne zrobić, chyba zmiany jakie wczoraj wprowadziłem do starej wersji projektu są porównywalne do tego co straciłem, jak bym tylko na 100% pamiętał wszystkie zmiany jakie tam wprowadziłem wcześniej... Natomiast samo "zablokowanie" plików to tylko atrybut "read-only" Sęk w tym, że komputer nie pozwala mi nawet zdjąć tych atrybutów, już wczoraj to sprawdzałem. Włączyłem również w Windowsie funkcję "pokaż ukryte pliki i foldery" i pojawiło mi się pełno plików, ale to były tylko jakies pliki gitowe, nie wiem jak je wykorzystać. Z ciekawości mogę Ci na PW podrzucić ten workspace, ale ja już i tak tych plików nie potrzebuję. W każdym razie dzięki za pomoc 😉 Btw, a co Waszym zdaniem jest najlepsze do kontroli wersji projektów stworzonych na Atmel Studio 7? Cytuj Link do komentarza Share on other sites More sharing options...
Elvis Luty 14, 2016 Udostępnij Luty 14, 2016 Ja przez wiele lat używałem SVN-a, ale teraz nie zamieniłbym git-a na nic innego. Na początku wymaga trochę nauki i przyzwyczajenia, ale później jest już tylko lepiej. Więc bardzo polecam - pakowanie się w system z centralnym repozytorium to moim zdaniem pomyłka. Podejrzewam, że te zablokowane pliki to tylko kwestia złego użycia programu... Chociaż pod windowsem mam mało doświadczenia z gitem, to nie sądzę żeby aż tak źle działał. Cytuj Link do komentarza Share on other sites More sharing options...
deshipu Luty 14, 2016 Udostępnij Luty 14, 2016 Polecam Mercuriala, ma wszystko to, co Git, tylko nie wymaga tyle nauki i przyzwyczajania się 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!