VCS
●
Version control system – system kontroli
wersji
●
Scentralizowane (cvs, svn)
●
Zdecentralizowane (mercurial, git)
Slide 3
Slide 3 text
Zalety korzystania z VCS
●
Back-up
●
Możliwość programowania w grupie
●
Dostęp do wszystkich zmian i wersji projektu
pod ręką
●
Kontrola nad tym, co się dzieje w projekcie i
kto jest za co odpowiedzialny
●
Pozbycie się śmieciowych komentarzy w
kodzie
Slide 4
Slide 4 text
Git - historia
●
Autor: Linus Torvalds
●
Wziąć przykład z CVS, czego nie robić.
●
System powinien być rozproszony.
●
System powinien być chroniony przed błędami
w repozytorium
●
System powinien być szybki.
Slide 5
Slide 5 text
Git - zalety
●
Nie potrzebuje połączenia z internetem, aby
zatwierdzić zmiany
●
Szybki, a jednocześnie ma olbrzymi zasób
narzędzi
●
Bardzo dobre rozwiązywanie konfliktów
●
Łatwy w użyciu i przy tworzeniu nowych
repozytoriów
●
Social coding - github
Slide 6
Slide 6 text
Git – wady
●
Windows
●
Slide 7
Slide 7 text
Początki pracy z gitem
●
Stworzenie repozytorium
●
Dodanie innego klienta gita (np. serwera) tzw.
'remote'
Slide 8
Slide 8 text
„Stany” plików w repozytorium
●
Modyfikacja pliku
●
Dodanie go do 'obserwowanych' przez git
●
Staging – dodanie pliku do aktualnie
„przygotowywanego” commitu
●
Commit – zatwierdzenie zmian w plikach
●
Push – wysłanie plików na serwer
(nieobowiązkowe)
Slide 9
Slide 9 text
Praca z gałęziami
1.Dostajemy zadanie
2.Tworzymy branch (gałąź) specjalnie dla tego
zadania
3.Projektujemy i implementujemy
4.Łączymy aktualny gałąź z gałęzią główną
5.Usuwamy gałąź
Slide 10
Slide 10 text
Podstawowe polecenia
●
Git init . (tworzy repozytorium gita w aktualnym
katalogu)
●
Git add file (dodaje plik do najbliższego
commita, tzw. staging area)
●
Git commit (finalizuje zmianę)
●
Git push origin master (wysyła gałąź master
na główny serwer gita)
Pomocne polecenia
●
Git revert (cofa do określonego commita)
●
Git commit –amend (dopisuje aktualne zmiany
do poprzedniego commita)
●
Git reset HEAD file (unstaging)
●
Git checkout - - file (usunięcie aktualnych
zmian, cofnięcie do ostatnio commitowanej
wersji)
Slide 15
Slide 15 text
●
Git log (logi poprzednich commitów)
●
Git status (aktualny status commita, pliki
'staging', pliki które są zmienione, etc.)
●
Git diff (porównywanie plików)
Slide 16
Slide 16 text
Hooks
●
Post-commit, post-update, post-receive,
pre-..., etc.
●
Hooki pozwalają na wykonywanie skryptów po
określonych akcjach w repozytorium, np.
restart serwera, itp.
Slide 17
Slide 17 text
Github
●
Social coding
●
Issue tracking, wiki
●
Wsparcie i komunikacja z innymi systemami
dla deweloperów (Redmine, Campfire,
powiadomienia)
●
Darmowy (po części)
Slide 18
Slide 18 text
Bitbucket
●
Mniej popularny
●
Prywatne repozytoria za darmo
●
Obsługa zarówno gita, jak i mercuriala
Slide 19
Slide 19 text
Pytania?
http://swistak35.com
@swistak35 on twitter/github/blip