Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

GIT System Kontroli wersji GIT Rafał Kalinowski.  Czym jest GIT?  Modele pracy  Możliwości GIT’a  Kilka słów o terminologii  Obiekty w GIT’ie? 

Podobne prezentacje


Prezentacja na temat: "GIT System Kontroli wersji GIT Rafał Kalinowski.  Czym jest GIT?  Modele pracy  Możliwości GIT’a  Kilka słów o terminologii  Obiekty w GIT’ie? "— Zapis prezentacji:

1 GIT System Kontroli wersji GIT Rafał Kalinowski

2  Czym jest GIT?  Modele pracy  Możliwości GIT’a  Kilka słów o terminologii  Obiekty w GIT’ie?  Struktura zmian  Operacje zdalne i lokalne  Podstawowe operacje  Przykładowe wykorzystanie  Kilka narzędzi dla GIT’a Agenda

3 -System Kontroli Wersji -Stworzony jako zastępstwo BitKeepera -Linus Torvalds nazwał jego kolejny projekt właśnie jako GIT. ("I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'git'.„) -Projekt miał opierać się na -Szybkości -Prostocie -Wsparcie dla nieliniowego wytwarzania oprogramowania -Całkowite rozproszenie -Efektywnym przechowywaniu dużych projektów (np. kernel Linuksa) -Open source (GNU General Public License, v2). -Zbiór narzędzi Czym jest GIT

4  Model Scentralizowany  SVN  CVS  Perforce Używana jako miejsce przechowywania kopii zapasowej (Backupu) Brak prywatnych branch’y Do wykonania większości standardowych operacji wymaga połączenia do serwera. Modele pracy Serwer Komputer Komputer Komputer Plik Repozytorium Plik Wersja 1 Wersja 2

5 Modele pracy c.d. Serwer Komputer Komputer Komputer Plik Repozytorium Plik Repozytorium Wersja 1 Wersja 2 Wersja 1 Wersja 2 Wersja 1 Wersja 2  Model Rozproszony  GIT  Mercurial  Bazaar Możliwość pracy na wielu zdalnych repozytoriach. Wsparcie dla lokalnych/prywatnych branch’y. Nie potrzebuje dostępu do serwera dla większości operacji Pełna historia zmian dostępna lokalnie.

6 -Rozproszony model pracy -Wsparcie dla nieliniowego programowania (branche) -Wydajny w przypadku dużych projektów -Publikacja repozytorium (git://, http(s)://, ssh://) -Adresowanie przez zawartość (SHA-1) -#24b9da (24b9da aa493b52f8696cd6d3b00373) -Praca lokalna bez połączenia z repozytorium -Większość operacji nie wymaga połączenia z serwerem. Możliwości GIT’a

7  Branch - równoległa gałąź projektu rozwijana oddzielnie od głównej.  Tag – marker konkretnej wersji (rewizja w SVN’ie) projektu.  Working Dir – katalog roboczy na którym pracujemy  Index – rodzaj „cache”, czyli miejsca gdzie trzymane są zmiany do commita  Master Branch – główny branch z którym łączymy (merge) nasze zmiany przed wysłaniem do zdalnego repozytorium. Kilka słów o terminologii

8 Commit – wskazuje na tree oraz ojca, zawiera przykładowo takie informacje jak autor, data i treść wiadomości. Tree – reprezentuje stan pojedynczego katalogu (lista obiektów blob oraz zagnieżdżonych obiektów tree) Blob – zawiera zawartość pliku bez żadnej dodatkowej struktury Tag – wskazuje na konkretny commit oraz zawiera opis taga. Obiekty GIT’a

9 Obiekty GIT’a cd.

10 1.Przechowywanie zawartości projektu jako „snapshot’ów”. 2.Kompresowanie zawartości projektu. Struktura zmian w GIT’ie Zmiany w czasie Wersja 1 Wersja 2 Wersja 3 Wersja 4 Plik A A A1 Plik B BB B1 Plik C C1 C2

11 Przykładowymi operacjami zdalnymi są: git clone – pobiera zdalne repozytorium do podanego folderu git fetch – pobiera obiekty i wskaźniki z innego repozytorium git pull – pobiera i integruje obiekty i wskaźniki z innego repozytorium git push– aktualizuje zdalne repozytorium o wskaźniki i powiązane obiekty. Operacje zdalne

12 Operacje lokalne Katalog gita (folder.git) Index Working Directory checkout add commit Większość operacji wykonywanych jest na lokalnym repozytorium.

13 git init – stworzenie nowego repozytorium git add – dodanie zawartości pliku do Index’u git rm – usuwa plik z indexu (plik zniknie z working directory po commit’ie) git mv – przenosi plik git status – pokazuje status katalogu roboczego i poczekalni git config – pobiera i ustawia opcje globalne GIT’a lub tylko repozytorium Podstawowe operacje

14 git commit – zapisuje zmiany do repozytorium lokalnego git log – wyświetla logi z commit’ów git show – wyświetla obiekt git fetch – pobiera zmiany z repozytorium zdalnego git pull – wywołuje polecenia fetch i merge git push– wysyła zmiany do zdalnego repozytorium Podstawowe operacje cd.

15 git branch – do zarządzania branch’ami git checkout– przełączanie się między branch’ami git merge – łączy podane branch’e git rebase – zmienia punkt startu dla branch’a git reset – przywraca stan katalogu roboczego git stash – zapisuje/odczytuje zmiany z przestrzeni tymczasowej (rodzaj schowka) git gc – porządkowanie i optymalizacja repozytorium Podstawowe operacje cd.

16 Stworzenie zdalnego repozytorium : > git init Dodanie nowych plików: > git add. > git add readme.txt Struktura projektu. (Plik.git/config) > git config Prezentacja wykorzystania

17 Pierwszy commit: > git commit -m „Treść wiadomości” Historia : > git log Prezentacja wykorzystania cd.

18 Stworzenie tag’a: > git tag v1.00 > git tag v2.00 -m „Wersja druga” Wypisanie tagów: > git tag Wysłanie do zdalnego repozytorium tagów: > git push -tags Usunięcie taga: > git tag -d v2.00 Prezentacja wykorzystania

19 Tworzenie brancha: > git branch myBranch Wyświetlenie branchy: > git branch Przełączanie branchy: > git checkout myBranch Usuwanie brancha: > git branch –d myBranch Prezentacja wykorzystania

20 Łączenie (merge) branchy: > git merge branchName W przypadku konfliktów po poprawkach w łatwy sposób można kontynuować pracę: >git commit -a -m „Merge branchy” Prezentacja wykorzystania

21 Historia zmian: > git log > git log --after= :20 > git log Wyszukiwanie odpowiedzialnej osoby: > git blame > git blame –L 12,3 Prezentacja wykorzystania

22 Migracja do GIT’a: > git svn clone Praca na kopii repozytorium SVNa w GIT’ie: > git svn rebase > git svn dcommit GIT i SVN

23 GIT Gui GIT Bash GIT History TortoiseGIT Eclipse eGIT GITHub Stash (Attlasian) Gerrit Przykładowe narzędzia:

24  Tworzenie i łączenie (merge) branch’y jest szybkie i łatwe.  Możliwość wymiany kodu pomiędzy zdalnymi repozytoriami. (Udostepnienie bezpośrednio dla kogoś swojego prywatnego branch’a)  Łatwe prototypowanie. (Prywatne branche)  Można w łatwy sposób dostosować repozytoria do swojego procesu wytwarzania kodu.  Możliwość automatycznego migrowania repozytorium SVN do GIT’a.  Projekt OpenSource  Rosnąca popularność dzięki której pojawaia się coraz więczej narzędzi/pluginów do/dla GIT’a. Podsumowanie

25 Pytania ?

26


Pobierz ppt "GIT System Kontroli wersji GIT Rafał Kalinowski.  Czym jest GIT?  Modele pracy  Możliwości GIT’a  Kilka słów o terminologii  Obiekty w GIT’ie? "

Podobne prezentacje


Reklamy Google