• Nie Znaleziono Wyników

System Kontroli Wersji GIT

N/A
N/A
Protected

Academic year: 2021

Share "System Kontroli Wersji GIT"

Copied!
36
0
0

Pełen tekst

(1)

1/128

System Kontroli Wersji

GIT

(2)

2/128

System Kontroli Wersji

System kontroli wersji to oprogramowanie które pomaga śledzić zmiany w kodzie na przestrzeni czasu.

System kontroli wersji zapamiętuje konkretny stan danego kodu - i pozwala później odzyskać zapamiętaną wersję.

– Dzięki temu, że ma zapisanych kilka wersji tego samego kodu razem z oznaczeniem czasowym, może również porównać wersje ze sobą i jasno wyszczególnić zmimany.

Pozwala na automatyczne przechowywanie, odzyskiwanie,

logowanie i scalanie wersji kodu.

(3)

3/128

System Kontroli Wersji

Prosty system kontroli wersji:

Stworzenie katalogu o nazwie “projekt”

Sukcesywne tworzenie wewnątrz podkatalogów z nazwami “projekt_v1”,

“projekt_v2” i umieszczanie w nim konkretnych wersji kodu

Można nawet profesjonalnie poprawić system, używając dat zamiast zwykłych v1,

v2 ... v223

(4)

4/128

System Kontroli Wersji

(5)

5/128

System Kontroli Wersji

System kontroli wersji pomaga z:

Tworzeniem backup-ów

Oczywiste i niezbędne. Jak komputer się spali albo dysk wysiądzie, mamy kopie zapasową.

Odtwarzanie poprzednich wyników

Pozwala zawsze wrócić i uruchomić poprzednią wersję programu.

Porównywaniem konkretnej wersji

“W wersji z piątku ten guzik jeszcze działał! Co zmieniliśmy?”

Rozwój kilku wersji równocześnie

Jeśli dwie osoby chcą pracować jednocześnie nad tym samym projektem, system kontroli wersji pomoże bezboleśnie scalić ich pracę

Workfows – zachowywanie uprawnień oraz kontroli nad kodem

W firmach zwykle dany kawałek kodu jest dołączany do programu dopiero po zrecenzowaniu przez starszego programistę.

http://www.ateam-oracle.com/version-control/

(6)

6/128

System Kontroli Wersji

http://cswsolutions.com/blog/git-non-developers-part-ii/

/ trunk

(7)

7/128

Kontrola wersji

Lokalna kontrola wersji

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

(8)

8/128

Kontrola wersji

Lokalna kontrola wersji

Centralizowana kontrola wersji

– Subversion (SVN)

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

(9)

9/128

Kontrola wersji

Lokalna kontrola wersji

Centralizowana kontrola wersji

– Subversion (SVN)

Rozproszona kontrola wersji

– GIT

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

(10)

10/128

Kontrola wersji

Lokalna kontrola wersji

Centralizowana kontrola wersji

– Subversion (SVN)

Rozproszona kontrola wersji

– GIT

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

Każdy ma swoją replikę (klon)

repozytorium pu sh

pu ll

(11)

11/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads.

Wybrać serwer na którym będzie przechowywane centralne repozytorium

Stworzyć nowe repozytorium (centralne) dla projektu

Pobrać kod, tworząc przy okazji lokalne repozytorium

Korzystanie z GITa:

Dodawać, usuwać, modyfikować kod i pliki

Update lokalnego repozytorium

Update centralnego repozytorium

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programistom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

(12)

12/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads.

Wybrać serwer na którym będzie przechowywane centralne repozytorium

Stworzyć nowe repozytorium (centralne) dla projektu

Pobrać kod, tworząc przy okazji lokalne repozytorium

Korzystanie z GITa:

Dodawać, usuwać, modyfikować kod i pliki

Update lokalnego repozytorium

Update centralnego repozytorium

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programistom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

(13)

13/128

Serwery na repozytoria GITa

https://github.com/

https://gitlab.com/

https://bitbucket.org/

(14)

14/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads.

Wybrać serwer na którym będzie przechowywane centralne repozytorium

Stworzyć nowe repozytorium dla projektu

Pobrać kod, tworząc przy okazji lokalne repozytorium

Korzystanie z GITa:

Dodawać, usuwać, modyfikować kod i pliki

Update lokalnego repozytorium

Update centralnego repozytorium

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programistom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

(15)

15/128

Nowe repozytorium

centralne

(16)

16/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads.

Wybrać serwer na którym będzie przechowywane centralne repozytorium

Stworzyć nowe repozytorium dla projektu

Pobrać kod, tworząc przy okazji lokalne repozytorium

Korzystanie z GITa:

Dodawać, usuwać, modyfikować kod i pliki

Update lokalnego repozytorium

Update centralnego repozytorium

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programistom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

(17)

17/128

Pobieranie kodu z repozytorium Tworzenie repozytorium lokalnego

Pobrać kod, tworząc repozytorium lokalne:

– Zdobywamy link URL do repozytorium

clone – używamy polecenia clone w wybranym przez nas miejscu.

git clone https://github.com/login/NazwaProjektu

(18)

18/128

Clone URL

– Po wykonaniu klonowania mamy na

komputerze repozytorium lokalne

(19)

19/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads.

Wybrać serwer na którym będzie przechowywane centralne repozytorium

Stworzyć nowe repozytorium dla projektu

Pobrać kod, tworząc przy okazji lokalne repozytorium

Korzystanie z GITa:

Dodawać, usuwać, modyfikować kod i pliki

Update lokalnego repozytorium

Update centralnego repozytorium

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programistom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

(20)

20/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

(21)

21/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

$ git status

On branch master

Your branch is up-to-date with 'origin/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 dir Wprowadzam jakies zmiany lalala; README.md

Untracked files:

(use "git add <file>..." to include in what will be committed) test.txt

no changes added to commit (use "git add" and/or "git commit -a")

“master” - główna i domyślna

gałąź repozytorium

(22)

22/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

$ git status

On branch master

Your branch is up-to-date with 'origin/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 dir Wprowadzam jakies zmiany lalala; README.md

Untracked files:

(use "git add <file>..." to include in what will be committed) test.txt

no changes added to commit (use "git add" and/or "git commit -a")

Sugestie co zrobić ze zmianami:

add / checkout

(23)

23/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

(24)

24/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

$ git add test.txt

$ git add *

$ git status

On branch master

Your branch is up-to-date with 'origin/

Changes to be committed:

(use "git reset HEAD <file>..." to un modified: README.md

new file: test.txt Jeśli:

Zmodyfikowałam plik README.md

Stworzyłam nowy plik test.txt

Chciałabym zapisać te zmiany w repozytorium, więc:

Używam “add” na wszystkich plikach których zmiany chcę zapisać

tzw. ‘Staging’ - przygotowywuję pliki

Używam “status” żeby zobaczyć, czy wszystko jest w porządku

(25)

25/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull git commit

Używam “commit” żeby zapisać te zmiany

$ git commit -m "Moj pierwszy commit z lokalnego repo"

[master 09ba074] Moj pierwszy commit z lokalnego repo 2 files changed, 2 insertions(+), 1 deletion(-)

create mode 100644 test.txt

lub ‘commit -m “komentarz” ‘ żeby dodać komentarz

(26)

26/128

Korzystanie z GITa

Dodawanie, usuwanie, modyfikacja plików

– Tak samo, jak zawsze: modyfikujemy pliki lokalnie na własnym komputerze

Do śledzenia aktualnych zmian służy polecenie status

Update lokalnego repozytorium

– Żeby nasze zmiany zostały zauważone i zapamiętane przez lokalne repozytorium

Polecenia add i commit

Update centralnego repozytorium

Polecenie push

Oraz ściągnięcie danych z centralnego repozytorium: pull

$ git push

$ git pull

(27)

27/128

Korzystanie z GITa

Zmieniłam lokalnie plik test1.txt oraz dodałam nowy plik test2.txt. Chcę je wypchnąć do

centralnego repozytorium. Co robię?

$ git status

$ git add test1.txt

$ git add test2.txt

$ git status

$ git commit -m "Test changes”

$ git pull

$ git push

$ git add *

”$” oznacza nowe polecenie w konsoli; nie należy go wpisywać.

(28)

28/128

Git w Eclipse - EGit

Help->Install New Software->http://download.eclipse.org/egit/updates/

(29)

29/128

Stworzenie nowego projektu w oparciu o istniejące repozytorium.

Git w Eclipse - EGit

Import… →

Projects from Git

(30)

30/128

Mamy dwie opcje: stworzyć projekt na podstawie istniejącego, lokalnego

repozytorium

(bo np. użyliśmy clone w lini komand jak było pokazane wcześniej)….

Git w Eclipse - EGit

(31)

31/128

Git w Eclipse - EGit

Albo klonować bezpośrednio z repozytorium centralnego

Mamy dwie opcje: stworzyć projekt na podstawie istniejącego, lokalnego

repozytorium

(bo np. użyliśmy clone w lini komand

jak było pokazane wcześniej)….

(32)

32/128

Musimy wybrać gałęzie do sklonowania z repozytorium.

Domyślnie będzie to główna gałąź

“master”.

Git w Eclipse - EGit

Import z projektu Gita przeprowadza nas przez kolejne okienka

kreatora…

(33)

33/128

Odkliknij „use default location” i wybierz katalog

w którym znajduje się repozytorium!

(inaczej import zwróci błąd)

“General project” dobrze zadziała dla wszystkich repozytoriów,

gdzie nie mamy i nie chcemy mieć projektu eclipse’a.

“Import using the New Project Wizard” jeśli w stworzonym

repozytorium centralnym chcemy utworzyć nowy projekt eclipse.

(1)

(2)

(34)

34/128

A jeśli już mam mój projekt?

Jeśli nie chcę importować projektu z zewnątrz, tylko chcę “wypchnąć”

istniejący projekt do repozytorium: Projekt Team Share Project... → →

Ponownie eclipse przeprowadzi nas

przez kolejne okienka kreatora…

(35)

35/128

Commit, push...

Git natychmiast bardzo wyraźnie ( > ) sygnalizuje te zmiany.

Wyświetlenie menu kontroli wersji (Team w menu kontekstowym projektu).

Jeśli wybierzemy “Commit...” pojawi nam się przyjazne okienko wktórym

wybieramy pliki które chcielibyśmy wypchnąć do repozytorium:

- lokalnego (Commit)

- zarówno lokalnego i centralnego (Commit and Push)

(36)

36/128

GIT w praktyce

Co zrobić aby używać GITa?

Zainstalować program GIT https://git-scm.com/downloads

Wybrać serwer na którym będzie przechowywane centralne repozytorium https://github.com/

Zainstalować odpowiednią wtyczkę do eclipse’a

Help→ Install New Software http://download.eclipse.org/egit/updates/

Więcej informacji można znaleźć w:

https://guides.github.com/activities/hello-world/

http://namiekko.pl/2016/03/05/no-i-git-kontrola-wersji-sluzy-nie-tylko-programis tom/

http://namiekko.pl/2016/03/13/git-przedzieram-sie-przez-galezie/

http://namiekko.pl/2016/03/12/git-w-eclipse/

Cytaty

Powiązane dokumenty

W przypadku tworzenia okresów płacowych tworzonych z przesunięciem rozliczenia ZUS i podatku na kolejny miesiąc, to należy przyporządkować pracownika do

Obsługuje ono punkt umowy: dopuszczalna liczba godzin pracy ponad określony w umowie wymiar czasu pracy, których przekroczenie uprawnia pracownika, oprócz normalnego wynagrodzenia,

W oparciu o dostępne dane, kryteria klasyfikacji nie są spełnione, ale produkt zawiera substancje zaklasyfikowane jako niebezpieczne przy wdychaniu. Może powodować

zdefiniowanych raportów w dashboard - błąd &#34;base64&#34; przy próbie przejścia szybką ścieżką z poziomu raportów - brak prawego marginesu w filtrze listy aplikacji

Mo˝e si´ to dziÊ wielu nie podobaç (i nie podoba si´), ale taka jest po prostu praw- da, ˝e odbudowa warszawskiego Starego i Nowego Miasta, Mariensztatu itd.. to wy- nik

Phillips J., Zarządzanie projektami IT, Wydanie III, Helion Gliwice 2011, Kontakt.

Do zatwierdzenie wszystkich zmian we wszystkich zmodyfikowanych plikach, a tak˙ze dodania do kontroli wersji nowych (i usuni ˛ecia z niej ju˙z nieistniej ˛ acych), przydatna jest

Idziemy do wybranego wcześniej miejsca, zastanawiamy się, które elementy przestrzeni mogą stać się częściami sieci (np. donice, drzewa, kosze na śmieci). Wybieramy datę i