-
Data: 2012-12-02 18:36:53
Temat: Re: Programy do kontroli wersji - zalety i wady.
Od: e...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu niedziela, 2 grudnia 2012 18:02:24 UTC+1 użytkownik Sebastian Biały napisał:
> On 2012-12-02 17:35, e...@g...com wrote:
> >>> Powiedzmy, ze rozwijasz dwie funkcjonalnosci w danym kodzie, i robisz
> >>> poprawki.
> >>> W git robi sie do tego 3 branche, lokalnie.
> >> W svn robi się do tego 2 branche w repo.
> > Pod warunkiem, ze masz polaczenie do serwera, git tego nie wymaga.
> To było założenie podane 2 posty wcześniej.
Mam laptopa i czasami nie mam neta i nie musze miec - a moge robic
dokladnie te same operacje, co w svn przy polaczeniu.
> > Po drugie,
> > nie pamietam jak to jest w svn jak sie pomylisz (np. wybranchujesz ni
> > z tego commita). Da sie to cofnac?
> W svn wszystko da się cofnąć. Ale od razu kasować? Wybranchowanie nie
> zajmuje *nic* w repo.
Oprocz tego, ze zostaje widoczny branch (wiesz, to pbyla pomylka i
tak zostalo).
> >> svn commit, svn switch na trunk, svn merge i svn switch na drugą
> >> Prywanie mam dodatkowy katalog z trunkiem do błyskawicznych merge, al
> >> to niekonieczne, switche trwają sekundy.
> > Ja wole robic commit, ktory jest jakos kompletny.
> Ja również utrzymuje commit w stanie przynajmniej kompilująctym się. Ale
> ... prawdę mówić to pracuje jeszcze inaczej: mam tyle katalogów na dysku
> ile otwartych branchy. Czas przełączenia się wynosi więc 0, a bywa że
> mam otwartych kilka środowisk na róznych branchach.
No ale widzisz, w svn robisz zmiany, potem kompilujesz i wypada puscic testy
i dopiero commit. W git juz jak sie kompiluje sprawdzam cale zmiany
i robie commit. Jak sie nie skompiluje lub nie dziala, poprawiam juz
zrobiony commit ("--amend") - nikt nigdy nie zobaczy schrzanionego commita.
Z SVN byl to odwieczny problem, przy 100 deweloperach czesto zdarzaly
sie nie udane buildy, bo ktos sie pomylil.
Takich drobnych roznic jest masa.
> >> Po co? Czego się wstydzić? Kodu czy bałaganu w branchach?
> > Nie bardzo rozumiem. Kod zostaje, jest zmergowany. A o jakim balaganie
> > mowa to nie wiem.
> "Kazik, pamiętasz może tego Wojtka co pracował w zeszłym roku? On coś
> robił na branchu, ale nie dał rady. Weź i zerknij do czego to się
> nadaje. Tu masz brancha".
> Czasem kod *NIE* zostaje zmergowany. Czasem pośrednie commity (np.
> odrzucone rozwiązanie) warto ponownie obejrzeć po miesiącu. Ogólnie nie
> potrafie zrozumieć potrzeby usuwania branchy z repo, choć z tą
> przypadłością ciągle się spotykam w róznych grupach. Przy czym czesto
> wyjasnieniem jest aby nie zajmowały miejsca (svn) :)
No ale git nie pozwoli ci usunac takiego brancha - na tym polega cale
bezpieczenstwo, jezeli zmiany z brancha sa tylko na branchu, git wymaga
opcji, ktora mowi "tak, chce sie bezpowrotnie pozbyc tych zmian".
Usuwa sie branche, ktore sa juz zmergowane zupelnie w innym celu. W
przeciwienstwie do svn zostaje pelna historia commitow z brancha - daty,
autorzy, opisy itd. . Taki usuwany branch staje sie historia tylko jako
branch, ktory juz nie bedzie rozwijany, bo wszystko zostalo zrobione
- pelna informacja na temat historii zawsze zostaje.
Branche sie robi w git czesto nie po to, zeby mialy miec dlugie zycie,
sa inne mozliwosci i przez to inne praktyki. Nie ma wiekszego sensu
stosowanie do oceny tego zwyczajow z svn.
> >> Nie naciskam, ale scenariusz który przedstawiasz jeszcze bardziej
> >> nastawia mnie "anty" do lokalnych branchy i filozofii pracy gita. Sa
> >> cholernie niebezpieczne (gdzie on miał te pliki?) i nic nie dają ponad
> >> to co daje svn repo (robi się tak samo szybko). W scenaruszu gdy
> >> pracujesz lokalnie z repo i w dodatku w grupie git nie daje *nic*.
> > Jak to "gdzie on mial te pliki"? W repo, jak zawsze.
> Ktorym? Lokalnym? O k...
A dlaczego niby "o k..."? I tak robie backup. Zmieniam katalog nadysk sieciowy
i robie przed wyjsciem z pracy "git clone" - robi to w minute kopie 1:1
wszystkiego co mam lokalnie przy milionach linii kodu i mnostwie wygenerowanych
plikow, dodatkowo w bezpieczny sposob. Wiec zostaje i laptop i kopia sieciowa,
nawet gdybym mial odejsc z pracy rzucajac wszystko momentalnie w p..u.
Z takiegj kopii repo mozna korzystac dokladnie tak samo jak z glownego,
lokalna czy nie lokalna nic tu zmienia.
--
Edek
Następne wpisy z tego wątku
- 02.12.12 19:05 Sebastian Biały
- 02.12.12 19:48 e...@g...com
- 03.12.12 03:45 Marek Borowski
- 03.12.12 15:38 Stachu 'Dozzie' K.
- 03.12.12 16:09 Roman W
- 03.12.12 16:13 Stachu 'Dozzie' K.
- 03.12.12 16:59 e...@g...com
- 03.12.12 17:13 e...@g...com
- 03.12.12 22:46 Andrzej Jarzabek
- 14.12.12 20:14 Wojciech Muła
- 14.12.12 20:16 Stachu 'Dozzie' K.
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-03 Praktyczny test GPS...
- 2024-12-02 Tak się sprzedają elektryczne woldzwageny ;-)
- 2024-12-02 Akumulator do Hyundai
- 2024-12-02 Olsztyn => Sales Specialist <=
- 2024-12-02 Poznań => Technical Artist <=
- 2024-12-02 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-02 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-02 Białystok => Delphi Programmer <=
- 2024-12-02 Poznań => Dyspozytor Międzynarodowy <=
- 2024-12-02 Szczecin => Key Account Manager (ERP) <=
- 2024-12-02 Poznań => Senior PHP Developer <=
- 2024-12-03 Usiłuję zapłacić za energetyzację...
- 2024-12-02 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-02 Kraków => Full Stack .Net Engineer <=