git jest git
Transkrypt
git jest git
Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem git jest git Stanisław „dozzie” Klekot Dni Wolnego Oprogramowania 6 marca 2010 Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem git zmienia się szybko Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem git zmienia się szybko Opieramy się na wersji 1.5.6 (Debian Lenny) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera 3 kwietnia 2005 — Linus Torvalds zaczyna pisać własny VCS Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera 3 kwietnia 2005 — Linus Torvalds zaczyna pisać własny VCS 7 kwietnia 2005 — git przeszedł na self-hosting Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera 3 kwietnia 2005 — Linus Torvalds zaczyna pisać własny VCS 7 kwietnia 2005 — git przeszedł na self-hosting Initial revision of ”git”, the information manager from hell Linus Torvalds [Thu, 7 Apr 2005 22:13:13 +0000] Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera 3 kwietnia 2005 — Linus Torvalds zaczyna pisać własny VCS 7 kwietnia 2005 — git przeszedł na self-hosting Initial revision of ”git”, the information manager from hell Linus Torvalds [Thu, 7 Apr 2005 22:13:13 +0000] 29 kwietnia 2005 — git osiągnął Linusowe wymagania wydajnościowe Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem parę dat z historii rozwoju kwiecień 2005 — BitMover wycofało darmowe licencje na BitKeepera 3 kwietnia 2005 — Linus Torvalds zaczyna pisać własny VCS 7 kwietnia 2005 — git przeszedł na self-hosting Initial revision of ”git”, the information manager from hell Linus Torvalds [Thu, 7 Apr 2005 22:13:13 +0000] 29 kwietnia 2005 — git osiągnął Linusowe wymagania wydajnościowe 16 czerwca 2005 — pierwsze wydanie kernela (2.6.12) pod gitem Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania praca rozproszona, w tym praca off-line Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania praca rozproszona, w tym praca off-line szybkość działania Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania praca rozproszona, w tym praca off-line szybkość działania silna ochrona spójności repozytorium Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania praca rozproszona, w tym praca off-line szybkość działania silna ochrona spójności repozytorium szybkość działania Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita wymagane (i osiągnięte) pamiętacie jak pracować z CVS? to dokładnie inaczej szybkość działania praca rozproszona, w tym praca off-line szybkość działania silna ochrona spójności repozytorium szybkość działania A oprócz tego szybkość działania. Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita osiągnięte dodatkowo Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita osiągnięte dodatkowo efektywne składowanie dużych projektów (miejsce!) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita osiągnięte dodatkowo efektywne składowanie dużych projektów (miejsce!) wehikuł czasu — przepisywanie historii Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita osiągnięte dodatkowo efektywne składowanie dużych projektów (miejsce!) wehikuł czasu — przepisywanie historii kopiowanie zmian przez dziurkę od klucza z prawą ręką na lewej łopatce Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Cechy gita osiągnięte dodatkowo efektywne składowanie dużych projektów (miejsce!) wehikuł czasu — przepisywanie historii kopiowanie zmian przez dziurkę od klucza z prawą ręką na lewej łopatce naprawa młotkiem i taśmą klejącą Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? każdy pracuje na swoim poletku Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? każdy pracuje na swoim poletku push do własnych gałęzi Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? każdy pracuje na swoim poletku push do własnych gałęzi główna gałąź Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? każdy pracuje na swoim poletku push do własnych gałęzi główna gałąź merge master Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem czym operuje git? zmiany (commits) gałęzie (branches) gałęzie są tanie! zdalne repozytoria (remotes) jak to wykorzystać? każdy pracuje na swoim poletku push do własnych gałęzi główna gałąź merge master rebase Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi praca off-line z Subversion Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi praca off-line z Subversion poprawki w skryptach żywego systemu Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi praca off-line z Subversion poprawki w skryptach żywego systemu kontrola wersji artykułu (LATEX!) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi praca off-line z Subversion poprawki w skryptach żywego systemu kontrola wersji artykułu (LATEX!) konfiguracja usługi (Apache, Postfix, . . . ) Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem zastosowania kontrola wersji kodu nuda, każdy tak robi praca off-line z Subversion poprawki w skryptach żywego systemu kontrola wersji artykułu (LATEX!) konfiguracja usługi (Apache, Postfix, . . . ) ~/.vimrc, ~/.zshrc Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm git mv Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm git mv git cp? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm git mv git cp? git commit Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm git mv git cp? git commit git diff Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Podstawowe komendy git init git status git add git rm git mv git cp? git commit git diff git log Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit tree Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit tree blob Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit tree blob tag Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit tree blob tag branch Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Obiekty w repozytorium commit tree blob tag branch HEAD Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches jak pracować z gitem? centralne repozytorium? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches jak pracować z gitem? centralne repozytorium? kto do której gałęzi? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches jak pracować z gitem? centralne repozytorium? kto do której gałęzi? gałęzie prywatne Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches jak pracować z gitem? centralne repozytorium? kto do której gałęzi? gałęzie prywatne jak często commitować? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches jak pracować z gitem? centralne repozytorium? kto do której gałęzi? gałęzie prywatne jak często commitować? przepisywanie historii Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch git checkout Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch git checkout, git checkout -b Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch git checkout, git checkout -b git merge, git pull Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch git checkout, git checkout -b git merge, git pull git rebase Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Gałęzie branches czym pracować? git branch git checkout, git checkout -b git merge, git pull git rebase git cherry-pick Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Historia po git merge branch A a b c d m2 branch B x Stanisław „dozzie” Klekot m1 git jest git y m3 Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Historia po git rebase branch A a b c branch B x Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Historia po git rebase branch A a b c d m1 e branch B x Stanisław „dozzie” Klekot x’ git jest git y z Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Historia po git cherry-pick branch A a b c branch B x Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Historia po git cherry-pick branch A a b c x’ d y z branch B x Stanisław „dozzie” Klekot git jest git y’ e z’ Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? git daemon Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? git daemon SSH Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? git daemon SSH WebDAV Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? git daemon SSH WebDAV read-only : HTTP Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dostęp do repozytorium protokoły transportowe lokalne pliki CIFS ? NFS ? git daemon SSH WebDAV read-only : HTTP rsync ? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote git remote add <name> Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote git remote add <name> git remote update Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote git remote add <name> git remote update git fetch <name> Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote git git git git remote add <name> remote update fetch <name> merge Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Operacje na repozytoriach git clone git fetch git push git remote git git git git remote add <name> remote update fetch <name> merge git pull Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Pytania? Stanisław „dozzie” Klekot git jest git Wstęp Historia Jak gita używać? Zastosowania Codzienna praca z gitem Komunikacja ze światem Dziękuję za uwagę Stanisław „dozzie” Klekot git jest git