Studenckie Koło Naukowe Linuksa i Wolnego Oprogramowania działające przy Politechnice Śląskiej zaprasza na wykład otwarty na temat systemu kontroli wersji Git, który odbędzie się 14 marca 2012 w sali 106 budynku A rybnickiego Kampusu (Rybnik, ul. Rudzka 13A) o godzinie 17:00.
Praca programistyczna, czy to nad nowo powstającym kodem, czy związana z modyfikowaniem dotychczasowego kodu może okazać się niezwykle trudna jeśli jedyną wersją danych jest ta ostatnio powstała. Często chcielibyśmy mieć możliwość przywrócenia starszej wersji i wglądu w historię projektu, nad którym pracujemy. Odpowiedzią na tą potrzebę są systemy kontroli wersji. Upraszczają one utrzymanie kodu i kontrolę wersji w miarę postępów w pracy.
Dostępnych jest wiele otwartych systemów kontroli wersji: cvs, svn, git, mercurial. Dlaczego lubimy Gita?
Dlatego, że w większości naszych projektów nie jesteśmy sami. Dlatego, że pracujemy w wiele osób i każdy rozbudowuje jedynie część całego projektu. Rodzi to szereg problemów w przypadku gdy kilka osób wprowadza zmiany w jednym miejscu. Git umożliwia stosunkowo proste rozwiązanie takich konfliktów.
Podczas wykładu Marcin Jabrzyk i Piotr Hajduga zaprezentują jakie cechy Gita sprawiają, że używa się go wygodnie w wieloosobowych projektach i pokażą w praktyce, jak wygląda praca z tym narzędziem zarówno w systemach GNU/Linux jak i w systemach firmy Microsoft.


Oj, nie dopisałem, że wykład odbędzie się o godzinie 17:00 🙂
Dorzuciłem (;
Czy wykład zostanie nagrany i umieszczony w sieci?
Kilka osób o to pytało. Myślę o tym i jeśli uda mi się zorganizować sprzęt to postaram się to zrealizować, ale czasu jest mało więc nic nie obiecuję.
Czy udało się nagrać wykład?
Wykład odbędzie się w środę i jeszcze nie wiadomo czy uda się go nagrać.
Dlaczego lubimy git-a, smieszne, a czego niby brakuje mercurialowi co nie ma GIT ?
Mają prawo lubić co chcą, a Ty masz prawo lubić coś innego 🙂 Nie widzę w tym nic śmiesznego.
mercurial nie ma swojego Githuba
A Bitbucket?
wtedy kiedy Github byl juz bardzo fajny Bitbucket raczkowal a teraz to nawet nie wiem, ale bardzo chetnie poznalbym opinie kogos kto z tego uzywam na codzien.
Używam raz na tydzień, głównie wrzucam zmiany i oglądam pliki przez interfejs na www. Dlatego nie umiem powiedzieć nic ponad to, że to działa. Może jeszcze dorzucę, że Bitbucket – w przeciwieństwie do GitHuba – pozwala prowadzić prywatne repozytorium za darmo. No i obsługuje Mercuriala lub Gita.
Dlaczego lubimy kanapki z szynka, smieszne, a czego niby brakuje kanapkom z dzemem?
Wyklad otwarty jest na temat Git.
A ja dam okejke na ten komentarz, bo sprowokowal fajna dyskusje. Zapraszam do Koła, kazda wymiana wiedzy jest wartosciowa. Fakt, Mercurial jest rowniez bardzo dobrym VCSem. Pare razy korzystalem jako uzytkownik, nigdy jako deweloper. Chce zaprezentowac Gita z punktu widzenia programisty ale chetnie posluchalbym czegos wiecej o Mercurialu, skoro nawet Linus nie mial odwagi o nim nic zlego powiedziec 🙂
W mojej wypowiedzi chopdzilo mi bardziej oto ze GIT zostal w moim odczuci przedstawiony jako jedyny "slyszny" system DVCS, mieszkanie CVS SVN HG I GIT-a w jednym worku to blad. Pracuje na obu systemach, ale nie spodobalo mi sie zdanie "Dostępnych jest wiele otwartych systemów kontroli wersji: cvs, svn, git, mercurial. Dlaczego lubimy Gita" wg mnie sa jakies SVN-y CVS-y Mercurial i jest GIT ! w ktorym mozemy "…Git umożliwia stosunkowo proste rozwiązanie takich konfliktów." .
Może faktycznie, nieco przewrotnie zabrzmiały te sformułowania w tym abstrakcie. W każdym razie, wyszło to całkowicie przypadkiem i nie było moją intencją wywyższenie Gita nad innymi VCSami, w szczególności DVCSami, a jedynie wprowadzenie osób nie znających tego narzędzia do tematu. Ale myślę, że teraz jest już wszystko jasne 🙂
ja też bym chętnie ten wykład w sieci zobaczył.
Lubimy gita bo:
1. Łatwo dostępny.
2. Ma darmowe serwery do zastosowań domowych. Taki dysk twardy, ale z historią.
3. Idealny system kopii zapasowych prac dyplomowych 🙂
4. Działa szybko.
5. Prosty w obsłudze. Ma duże możliwości.
Praca z gitem na Windowsie: na wirtualnej maszynie z linuksem 🙂 Serio 🙂
Inne:
1. Mercurial – jest wolny. Zawsze jak aktualizuję Firefoksa to zastanawiam się że proces żyje 🙂
2. SVN – jednak technika gałęziowa GITa jest lepsza – trudniej stracić dane.
3. CVS – w dalszym ciągu nie umiem go używać… zbyt toporny.
4. Bazaar – instalacje jest koszmarem i nie mam tego systemu kontroli wersji.
Podsumowując: GIT jest popularniejszy. Będzie ciężko takiemu HG coś wskórać, musiałby być klasę lepszy, a nie jest. Przypominam że ciągle sporo projektów siedzi na SVN – tam mogłoby HG uderzyć, ale może być już za późno… Widzę sporo projektów, np. Wireshark mający dwa repo – SVN i GITa (w obwodzie).
Git w 3 minuty:
1. mkdir r && cd r && git init –bare
2. export RP=$PWD && cd ..
3. mkdir w && cd w
4. git init
5. git remote add origin $PWD
6. echo "test" > test.c
7. git status
8. git diff
9. git add test.c
10. git status
11. git diff
12. git commit # jakiś tam tekst…
13. echo "qwerty" >> test.c
14. git status
15. git diff
16. git add test.c
17. git commit –amend
18. git push origin master
19. git branch
20. git branch -av
21. git log –decorate –stat
# inne użyteczne: pull, reset, rebase, cherry-pick, mergetool, instaweb
Mercurial jest wolny? Google twierdzi co innego:
"As a benchmark, Git and Mercurial repositories were seeded with approximately 1500 files totaling 35 M of data. The servers were running in Chicago and the clients in Mountain View (51 ms ping time). The operation of cloning the remote repository (similar to a initial checkout in traditional version control systems) averaged 8.1 seconds for Mercurial and 178 seconds for Git (22 times slower). A single file in the repository was then changed 50 times and the clients pulled the updates. In this case, Mercurial took 1.5 seconds and Git required 18 seconds (12 times slower). When the Git protocol was used instead of HTTP, Git's performance was similar to Mercurial (8.7 seconds for cloning, 2.8 seconds for the pull)."
http://code.google.com/p/support/wiki/DVCSAnalysi…
"Praca z gitem na Windowsie: na wirtualnej maszynie z linuksem 🙂 Serio 🙂 "
To ja dziękuję. Mercurial dla Windows jest w wersji x86 i x64.
http://mercurial.selenic.com/downloads/
Potwierdzam – używamy GITa na co dzień w dużym projekcie i większość osób się zgadza, że GIT jest dość powolny. No i w ogóle git jest miejscami dość magiczny – mercuriala znacznie łatwiej się nauczyć.
> 1. Łatwo dostępny.
Tak jak wszystkie inne systemy kontroli wersji
> 3. Idealny system kopii zapasowych prac dyplomowych 🙂
Oczywiscie! Tak samo jak kazdy inny system kontroli wersji.
> 5. Prosty w obsłudze.
W porownaniu do mercurial-a zbyt skomplikowany.
> 1. Mercurial – jest wolny. Zawsze jak aktualizuję Firefoksa to zastanawiam się że proces żyje 🙂
Mam podobne odczucia w przypadku Git.
> 2. SVN – jednak technika gałęziowa GITa jest lepsza – trudniej stracić dane.
Pod tym wzgledem kazdy DVCS jest lepszy niz VCS
> Przypominam że ciągle sporo projektów siedzi na SVN – tam mogłoby HG uderzyć
Tam tez miedzy innymi HG uderza.
Dobrze napisane GIT jest popularniejszy, nie wiem w czym jest klase wyzszy… uzywam obu systemow, i znam je bardzo dobrze. Mercurial dawno swoja funkcjonalnoscia przegonil GIT-a ktory prawie sie nie rozwija. Nie wiem czy wiesz co to jest LargeFiles extension, graft (cherry-pick przy ktorym git-owski sie chowa), hg phases, moglbym wymieniac dalej… GIT ma github-a i temu zawdziecza swoja popularnosc, jesli chodzi o funkcjonalnosc,latwosc uzycia, to niestety GIT jest daleko w tyle za HG.
Nie obsługuje pustych katalogów.
Kłopot wrzucić pusty plik tenetowy do katalogu? To akurat nie najwięszy problerm z gitem, tylko jego trudna obsługa. Jest już sporo "nakładek" na gita, nawet tekstowych, co świadczy o zaplątaniu z komendami.
Jaki plik?
ZTCW Mercurial tez nie obsluguje pustych katalogow.
Na codzień korzystam z obu systemów kontroli wersji. Z mojego doświadczenia Mercurial był trochę łatwiejszy w nauce, ale jego główna wada niepraktyczny system branchy. I to w zasadzie tyle dla codziennej pracy, reszta to kwestia gustu.
Prędkość? Mercurial jest zauważalnie wolniejszy, ale nie na tyle żeby to w czymkolwiek przeszkadzało.
"Git is MacGyver, Mercurial is James Bond": http://importantshock.wordpress.com/2008/08/07/gi…
Hę? Co jest nie tak z systemem branchy w Hg?
Mercurial zapisuje informacje o aktualnej gałęzi przy każdym commicie. Po połączeniu takiej gałęzi nie można już jej usunąć – zostaje w repo do końca, plącząc się przy poleceniach typu "hg push". Zamiast po prostu korzystać z tak zwanych "feature branches", muszę trzymać kopie repo w oddzielnych katalogach, lub korzystać z rozszerzenia "local branches" (które ma swoje ograniczenia).