Logiki tam z lupą szukać. Weźmy pierwszy z brzegu przykład. Utworzenie nowej gałęzi wygląda normalnie:
git branch testale przełączenie się na nią to już prawą nogą za lewe ucho:
git checkout testO kurde! COŚ jest nie tak. Sprawdzamy wobec tego co to jest checkout:
http://www.diki.pl/slownik-angielskiego/?q=checkout&x=0&y=0
I dowiadujemy się, że to kasa, bądź wymeldowanie. Na litość boską! Towarzyszu Linusie, skąd ci to wpadło do głowy? Słówko "branch" (gałąź) cię boli? Czyli gałąź niedokładnie opisuje gałąź? Lepiej do przełączenia na gałąź użyć słowa kasa-wymeldowanie? Dlaczego nie "cegła" albo "sznurówka"? Tak samo przypadkowe i tak samo dobre.
Myślisz drogi czytaczu, że to odosobniony przypadek? Można książkę napisać o głupotach GIT'a. Zresztą niech przemówią fakty. Wrzuć w google frazę "git commit", a zaraz potem "bazaar commit". Sprawdź za każdym razem ilość wyników. I co? Tobie też wyszło, że stron wyjaśniających działanie GIT'a jest (uwaga!) stopiętnaścierazywięcej? Albo 115 razy więcej?! Każdy, kto choć chwilę się nad tym zastanowi natychmiast odrzuci kwestię popularności GIT'a versus Bazaar'a. Bazaar jest po prostu prosty :-) Fajnie wyszło: "po prostu prosty". Ale tak jest w istocie. Bazaar jest prosty. W Bazaar aby cofnąć ostatni commit piszesz:
bazaar uncommitO zgrozo! Jak prosto i domyślnie!
Sprawdźmy więc jak to się robi w GIT:
git revert 1ed35d3To nie ściema! Tak jest naprawdę. I to jest skrócona wersja! Użyłem klucza tylko w wersji 7-dmio znakowej. A co by było gdybym musiał użyć całego klucza SHA? Drogi Linusie! Brawa za kreatywność.
Pomijam tu kwestię, że na przykład, w skądinąd dobrej książce o Git'cie:
http://progit.org/book/pl/
na próżno będziesz szukał informacji na temat jak cofnąć ostatni commit. Ciekawe no nie? Ciekawym też jest fakt, że w ogóle taka książka jest potrzebna. Wiem, bo ją przeczytałem. Nie dlatego abym był masochistą. Nie zwariowałem. Przeczytałem, bo trzeba się było nauczyć. Ale, jak widać, jej przeczytanie nie daje nawet tak podstawowej wiedzy jak cofnąć commit. A teraz uwaga... aby korzystać bezproblemowo z Bazaara wystarczy poświęcić kwadrans na przeczytanie jednego tutoriala. Więcej tutoriali ani książek nie ma. Nie ma... zgadnij dlaczego? Ano dlatego, że nie potrzeba. Tam wszystko jest prosto i kawa na ławę. Jeden tutorial i po sprawie. Po co się rozpisywać skoro wszystko jest proste?
Już słyszę te pytania: "dlaczego, baranie, nie używasz więc Bazaara?". Ano spuszczę głowę i odpowiem, że dla tego samego co durnych windowsów. Wszędzie do tego coś jest. A to wtyczka do NetBeansów i Idei. A to u naszego dostawcy usług hostingowych pełne wsparcie i tutoriale. Masakra! Uległem wielkości githuba. Stuliłem po sobie uszy, przymknąłem paszczę i używam tej durnoty. Mam nadzieję, że Ty, jak już dotarłeś do końca tych słów, to chociaż obejrzysz Bazaara i zapłaczesz dlaczego takie wspaniałe narzędzie pozostaje w cieniu fantasmagorii wielkiego Linusa.
Ach... byłbym zapomniał... kolejny z milionów tutoriali o GIT'cie:
http://marioosh.5dots.pl/2009/06/27/gitowy-system-kontroli-wersji.html
tam chociaż jest coś o cofnięciu commita...
Proponuję przeczytać http://marioosh.5dots.pl/2009/06/27/gitowy-system-kontroli-wersji.html
OdpowiedzUsuńGit jest systemem kontroli działającym w rozproszeniu. Np. Mamy dwa repozytoria i chcemy je połączyć i okazuje się, że jeden i drugi ma takie same katalogi i pliki, nie połączysz ich bez dodatkowej ingerencji. Wprowadzenie klucza SHA wyklucza konflikt z nazwami. Aby wrócić nie musisz wpisywać 7 cyfr wystarczy tyle pierwszych cyfr ile znacz. Piszesz, że "bazaar uncommit" aby cofnąć a co jeśli chcesz cofnąć się o 5 wersji. W gicie wystarczy wpisać kluch wersji.
Pozdrawiam.