Na przykładzie GIT
Prelegent: Tomasz Banasiak
Systemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Potrzeby stojące za powstaniem CVS
Systemy kontroli wersji - GIT
Co to jest kontrola wersji?
Systemy kontroli wersji - GIT
Rozpoczynamy pracę z GIT
1. Utworzenie własnego repozytorium
git init2. Pobranie istniejącego repozytorium
git clone git@gitlab:22/devschool/testrepo.gitSystemy kontroli wersji - GIT
Dysk Indeks GIT Repozytorium
Systemy kontroli wersji - GIT
Umieszczenie plików w indeksie
Dodanie plików do indeksu
git add . # dodanie wszystkich plików
git add nazwapliku.txt # dodanie konkretnego pliku
git add *.php # dodanie plików według maskiSystemy kontroli wersji - GIT
Dysk Indeks GIT Repozytorium
Systemy kontroli wersji - GIT
Umieszczenie plików w repozytorium
Zapisanie aktualnej wersji
git commit -m "Dodanie plików tekstowych"Systemy kontroli wersji - GIT
Dysk Indeks GIT Repozytorium
Hash: 3jh23skw
Dodanie plików te...
Systemy kontroli wersji - GIT
Dysk Indeks GIT Repozytorium
Hash: 3jh23skw
Dodanie plików te...
Hash: a981kj1
Zmiany w plika...
Systemy kontroli wersji - GIT
Jak GIT przechowuje pliki
Hash: 3jh23skw
Dodanie plików tekstowych
Hash: a981kj1
Zmiany w plikach: dodanie i usunięcie
Systemy kontroli wersji - GIT
Synchronizacja danych z innymi
Pobranie zmian dokonanych przez programistów
git pull origin master # Pobranie gałęzi master z głównego repozytorium
git pull ssh://git@gitrepo:22 develop # Pobranie gałęzi develop z zadanego repozytorium
git remote add piotrek ssh://192.168.0.123:22
git pull piotrek master # Zdefiniowanie własnego zewnętrznego repo i pobranie zmianSystemy kontroli wersji - GIT
Synchronizacja danych z innymi
Wysłanie własnych zmian
git push origin master # Wysłanie własnych commitów Systemy kontroli wersji - GIT
Przeglądanie zmian w repozytorium
Przeglądanie zmian w indeksie
git status# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   [+] szkolenie.txt    
#
no changes added to commit (use "git add" and/or "git commit -a")Systemy kontroli wersji - GIT
Przeglądanie zmian w repozytorium
Przeglądanie zmian w repozytorium
git logcommit 16b36c697eb2d24302f89aa22d9170dfe609855b
Author: Tomasz Banasiak <tomasz@banasiak.pro>
Date:   Fri Jan 25 17:31:57 2014 -0200
    Dodanie plików tekstowych
	
commit 34lnj34j2312lll1l293s0dffds09awleflsder9
Author: Tomasz Banasiak <tomasz@banasiak.pro>
Date:   Fri Jan 25 17:48:57 2014 -0200
    Modyfikacja plików: zmiana i usunięcie plik.txtSystemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Gałęzie
Aplikacja v. 1.0
Aplikacja v. 1.1
Aplikacja v. 2.0
Funkcja 1
Funkcja 2
Systemy kontroli wersji - GIT
Tworzenie gałęzi w GIT
git pull origin develop # uaktualnienie lokalnych danych
git checkout -b my-branch # utworzenie gałęzi my-branch i przełączenie się na niąSystemy kontroli wersji - GIT
Przełączanie gałęzi w GIT
git checkout develop # przełączenie na gałąź developSystemy kontroli wersji - GIT
Łączenie gałęzi
git branch
  develop
* my-branch
git checkout develop # przełączamy się na develop
git merge my-branch # zmergowanie (połączenie) gałęzi my-branch do gałęzi developSystemy kontroli wersji - GIT
Systemy kontroli wersji - GIT
Kontakt ze mną:
E-mail: tomasz@banasiak.pro
WEB: http://banasiak.pro