SlideShare ist ein Scribd-Unternehmen logo
1 von 40
!

	#
!

	
		
!
	$
	%
	'()
#
	
	!
*


+
		,


-,	!)		
.
)
/
0
!
*

	


1
	

	


0
(
	,	2
3,45	
5	,
5	


6	-%78	9		
2
!
$ sudo apt-get install git

$ git config --global user.name 
Piotr Macuk
$ git config --global user.email 
piotr@macuk.pl

/etc/gitconfig
~/.gitconfig
.git/config
git help config
%	


$ mkdir -p pesel/src
$ touch pesel/README
$ touch pesel/src/pesel.rb

pesel
pesel/README
pesel/src
pesel/src/pesel.rb
-
$ git init

pesel
pesel/README
pesel/src
pesel/src/pesel.rb
pesel/.git
1



$ git status

# On branch master
# Untracked files:
#       README
#       src/
nothing added to commit but
untracked files present (use git
add to track)
%	


$ git add .
$ git status

# On branch master
# Changes to be committed:
#       new file:   README
#       new file:   src/pesel.rb
0
$ git commit -m 'Init'

[master (root-commit) 7b355ec] Init
0 files changed, 0 insertions(+), 0
deletions(-)
create mode 100644 README
create mode 100644 src/pesel.rb

$ git status

# On branch master
nothing to commit (working directory clean)
!	,
pesel       pesel/.git/index    pesel/.git



     

    0
0
8

    02
$	,
(


$ cd .git/objects  find

e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
29/206d2658aaf11920998fac41a9f5f7047418fb
4b/b2a6cec1e0c51741998cd243367706bbfb3b83
7b/355ecc8206060071ff60038fa034aab580dd59
.
$ echo 'Pesel library.'  README
$ git add README
$ git commit -m 'Doc'
$	,
(

$ cd .git/objects  find

e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
29/206d2658aaf11920998fac41a9f5f7047418fb
4b/b2a6cec1e0c51741998cd243367706bbfb3b83
7b/355ecc8206060071ff60038fa034aab580dd59
d3/db0ebf6844ddc3ef19920e753bdf66f332a565
50/947a5824bab56cf14775c6594745f5b4409f2f
6a/aa7ae7ded1c036bc433a49906733a81da6fc9e
1: 8;



                                Init      Doc

pesel                tree       4bb2a6c   6aaa7ae
pesel/README         blob       e69de29   50947a5
pesel/src            tree       29206d2   29206d2
pesel/src/pesel.rb   blob       e69de29   e69de29
1
	!	

                 Init               Doc

              commit               commit
              7b355ec              d3db0eb




               tree                 tree
      pesel                                  pesel
              4bb2a6c              6aaa7ae




        blob          tree          blob
       e69de29       29206d2       50947a5
        README          src        README
      src/pesel.rb
,
(
          blob (size)0                tree (size)0

             content            100644 blob e69de29 README
                                040000 tree 29206d2 src




          Commit (size)0              tag (size)0

    tree 6aaa7ae                object d3db0eb
    parent 7b355ec              type commit
    author Piotr Macuk          tag v0.0.1
       piotr@macuk.pl         tagger Piotr Macuk
       1271161942 +0200            piotr@macuk.pl
    committer Piotr Macuk          Tue Apr 13 17:24:40 2010
       piotr@macuk.pl
       1271161942 +0200         First tag.

    Doc
,
	9	)=


,
,
(,	2

obj = zlib(sha1(header + content))
obj = .git/objects/
)
             HEAD    $ git branch fix23
                     $ git checkout fix23
    master   fix23



      F       D
                     $ git checkout -b fix23

      E       C      $ git branch -d fix23

      B



      A
%
)	,	,!	?		!)@
)@	?	
@
!)	?		AB	,
(		

:C 3	?	!)@		
(	
	

!	,
$ git tag v0.0.1
$ git tag -a v1.0
$ git tag -s v1.0signed
$ git tag -l
'
@

                            $ cd .git/refs/  find
     HEAD


    master   fix23
                            tags/v0.0.1
                            heads/master
      F       D
                            heads/fix23

      E       C      tag: v0.0.1




      B



      A

Weitere ähnliche Inhalte

Was ist angesagt?

Productivity tips for developers
Productivity tips for developersProductivity tips for developers
Productivity tips for developersSebastian Witowski
 
Fun with processes - lightning talk
Fun with processes - lightning talkFun with processes - lightning talk
Fun with processes - lightning talkPaweł Dawczak
 
Apache Hadoop Shell Rewrite
Apache Hadoop Shell RewriteApache Hadoop Shell Rewrite
Apache Hadoop Shell RewriteAllen Wittenauer
 
Capital onehadoopclass
Capital onehadoopclassCapital onehadoopclass
Capital onehadoopclassDoug Chang
 
Commands documentaion
Commands documentaionCommands documentaion
Commands documentaionTejalNijai
 
Introduction to cloudforecast
Introduction to cloudforecastIntroduction to cloudforecast
Introduction to cloudforecastMasahiro Nagano
 
What is suid, sgid and sticky bit
What is suid, sgid and sticky bit  What is suid, sgid and sticky bit
What is suid, sgid and sticky bit Meenu Chopra
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLorna Mitchell
 
Bash Script Disk Space Utilization Report and EMail
Bash Script Disk Space Utilization Report and EMailBash Script Disk Space Utilization Report and EMail
Bash Script Disk Space Utilization Report and EMailVCP Muthukrishna
 
MongoDB - Monitoring & queueing
MongoDB - Monitoring & queueingMongoDB - Monitoring & queueing
MongoDB - Monitoring & queueingBoxed Ice
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全維泰 蔡
 
Presentation DVCS - Git - Mercurial au LyonJug
Presentation DVCS - Git - Mercurial au LyonJugPresentation DVCS - Git - Mercurial au LyonJug
Presentation DVCS - Git - Mercurial au LyonJugSébastien Deleuze
 
File Space Usage Information and EMail Report - Shell Script
File Space Usage Information and EMail Report - Shell ScriptFile Space Usage Information and EMail Report - Shell Script
File Space Usage Information and EMail Report - Shell ScriptVCP Muthukrishna
 

Was ist angesagt? (20)

Productivity tips for developers
Productivity tips for developersProductivity tips for developers
Productivity tips for developers
 
Fun with processes - lightning talk
Fun with processes - lightning talkFun with processes - lightning talk
Fun with processes - lightning talk
 
Apache Hadoop Shell Rewrite
Apache Hadoop Shell RewriteApache Hadoop Shell Rewrite
Apache Hadoop Shell Rewrite
 
Hands on Hadoop
Hands on HadoopHands on Hadoop
Hands on Hadoop
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git like a pro EDD18 - Full edition
Git like a pro EDD18 - Full editionGit like a pro EDD18 - Full edition
Git like a pro EDD18 - Full edition
 
Git
GitGit
Git
 
Capital onehadoopclass
Capital onehadoopclassCapital onehadoopclass
Capital onehadoopclass
 
Git Sensitive Data
Git Sensitive DataGit Sensitive Data
Git Sensitive Data
 
Commands documentaion
Commands documentaionCommands documentaion
Commands documentaion
 
Introduction to cloudforecast
Introduction to cloudforecastIntroduction to cloudforecast
Introduction to cloudforecast
 
What is suid, sgid and sticky bit
What is suid, sgid and sticky bit  What is suid, sgid and sticky bit
What is suid, sgid and sticky bit
 
Git
GitGit
Git
 
Linux-Fu for PHP Developers
Linux-Fu for PHP DevelopersLinux-Fu for PHP Developers
Linux-Fu for PHP Developers
 
Bash Script Disk Space Utilization Report and EMail
Bash Script Disk Space Utilization Report and EMailBash Script Disk Space Utilization Report and EMail
Bash Script Disk Space Utilization Report and EMail
 
MongoDB - Monitoring & queueing
MongoDB - Monitoring & queueingMongoDB - Monitoring & queueing
MongoDB - Monitoring & queueing
 
Git::Hooks
Git::HooksGit::Hooks
Git::Hooks
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
 
Presentation DVCS - Git - Mercurial au LyonJug
Presentation DVCS - Git - Mercurial au LyonJugPresentation DVCS - Git - Mercurial au LyonJug
Presentation DVCS - Git - Mercurial au LyonJug
 
File Space Usage Information and EMail Report - Shell Script
File Space Usage Information and EMail Report - Shell ScriptFile Space Usage Information and EMail Report - Shell Script
File Space Usage Information and EMail Report - Shell Script
 

Andere mochten auch

InfoShare 2008
InfoShare 2008InfoShare 2008
InfoShare 20083camp
 
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do AppstoreNozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore3camp
 
Trillium Fabrication Division
Trillium Fabrication DivisionTrillium Fabrication Division
Trillium Fabrication DivisionRENEESH R
 
Penser une culture du risque : l’approche des cindyniques
Penser une culture du risque : l’approche des cindyniquesPenser une culture du risque : l’approche des cindyniques
Penser une culture du risque : l’approche des cindyniquesJan-Cedric Hansen
 
media styles of music videos
media styles of music videosmedia styles of music videos
media styles of music videosYasemin Sehri
 
Sách Không Thể Bị Lừa Dối
Sách Không Thể Bị Lừa DốiSách Không Thể Bị Lừa Dối
Sách Không Thể Bị Lừa DốiNhân Nguyễn Sỹ
 
Pharmaceutical Marketing and Management
Pharmaceutical Marketing and ManagementPharmaceutical Marketing and Management
Pharmaceutical Marketing and ManagementCMH hospital
 
Implix
ImplixImplix
Implix3camp
 
Como subir de precios y no morir en el intento banco de bogota - marzo de 2017
Como subir de precios y no morir en el intento   banco de bogota - marzo de 2017Como subir de precios y no morir en el intento   banco de bogota - marzo de 2017
Como subir de precios y no morir en el intento banco de bogota - marzo de 2017Camilo Herrera
 
Aula0706 (cultura do estupro - roteiro de leitura)
Aula0706 (cultura do estupro -  roteiro de leitura)Aula0706 (cultura do estupro -  roteiro de leitura)
Aula0706 (cultura do estupro - roteiro de leitura)Eduarda Bonora Kern
 
Визитка команды "Любимая сказка"
Визитка  команды  "Любимая сказка"Визитка  команды  "Любимая сказка"
Визитка команды "Любимая сказка"Ирина Рассохина
 
Команда "Сказочный звездопад"
Команда "Сказочный звездопад"Команда "Сказочный звездопад"
Команда "Сказочный звездопад"Ирина Рассохина
 

Andere mochten auch (13)

InfoShare 2008
InfoShare 2008InfoShare 2008
InfoShare 2008
 
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do AppstoreNozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore
Nozbe.app - testowanie różnych modeli biznesowych w budowaniu appki do Appstore
 
Trillium Fabrication Division
Trillium Fabrication DivisionTrillium Fabrication Division
Trillium Fabrication Division
 
Penser une culture du risque : l’approche des cindyniques
Penser une culture du risque : l’approche des cindyniquesPenser une culture du risque : l’approche des cindyniques
Penser une culture du risque : l’approche des cindyniques
 
media styles of music videos
media styles of music videosmedia styles of music videos
media styles of music videos
 
Sách Không Thể Bị Lừa Dối
Sách Không Thể Bị Lừa DốiSách Không Thể Bị Lừa Dối
Sách Không Thể Bị Lừa Dối
 
Pharmaceutical Marketing and Management
Pharmaceutical Marketing and ManagementPharmaceutical Marketing and Management
Pharmaceutical Marketing and Management
 
Implix
ImplixImplix
Implix
 
Como subir de precios y no morir en el intento banco de bogota - marzo de 2017
Como subir de precios y no morir en el intento   banco de bogota - marzo de 2017Como subir de precios y no morir en el intento   banco de bogota - marzo de 2017
Como subir de precios y no morir en el intento banco de bogota - marzo de 2017
 
Aula0706 (cultura do estupro - roteiro de leitura)
Aula0706 (cultura do estupro -  roteiro de leitura)Aula0706 (cultura do estupro -  roteiro de leitura)
Aula0706 (cultura do estupro - roteiro de leitura)
 
№ 69 василисы премудрые
№ 69 василисы премудрые№ 69 василисы премудрые
№ 69 василисы премудрые
 
Визитка команды "Любимая сказка"
Визитка  команды  "Любимая сказка"Визитка  команды  "Любимая сказка"
Визитка команды "Любимая сказка"
 
Команда "Сказочный звездопад"
Команда "Сказочный звездопад"Команда "Сказочный звездопад"
Команда "Сказочный звездопад"
 

Ähnlich wie GIT rozproszony system kontroli wersji

Ähnlich wie GIT rozproszony system kontroli wersji (20)

Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
Loading...git
Loading...gitLoading...git
Loading...git
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Git Without Puns
Git Without PunsGit Without Puns
Git Without Puns
 
Git_real_slides
Git_real_slidesGit_real_slides
Git_real_slides
 
Get on with git
Get on with gitGet on with git
Get on with git
 
Gittalk
GittalkGittalk
Gittalk
 
GIT - GOOD PRACTICES
GIT - GOOD PRACTICESGIT - GOOD PRACTICES
GIT - GOOD PRACTICES
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
Gitosis on Mac OS X Server
Gitosis on Mac OS X ServerGitosis on Mac OS X Server
Gitosis on Mac OS X Server
 
Git Aliases of the Gods!
Git Aliases of the Gods!Git Aliases of the Gods!
Git Aliases of the Gods!
 
Git
GitGit
Git
 
T3dd10 git
T3dd10 gitT3dd10 git
T3dd10 git
 
Git for beginner
Git for beginnerGit for beginner
Git for beginner
 
Git For Beginer
Git For BeginerGit For Beginer
Git For Beginer
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git walkthrough
Git walkthroughGit walkthrough
Git walkthrough
 
Git Basics (Professionals)
 Git Basics (Professionals) Git Basics (Professionals)
Git Basics (Professionals)
 

Mehr von 3camp

Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawekOchrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek3camp
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek3camp
 
Jak udokumentować bazę danych
Jak udokumentować bazę danychJak udokumentować bazę danych
Jak udokumentować bazę danych3camp
 
ORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowaniaORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowania3camp
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.3camp
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...3camp
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android3camp
 
Learn you some rx for the greater good
Learn you some rx for the greater goodLearn you some rx for the greater good
Learn you some rx for the greater good3camp
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach3camp
 
Reakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyceReakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyce3camp
 
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”3camp
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu3camp
 
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...3camp
 
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?3camp
 
Artur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupachArtur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupach3camp
 
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...3camp
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie3camp
 
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...3camp
 
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...3camp
 
Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model3camp
 

Mehr von 3camp (20)

Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawekOchrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek
 
Jak udokumentować bazę danych
Jak udokumentować bazę danychJak udokumentować bazę danych
Jak udokumentować bazę danych
 
ORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowaniaORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowania
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android
 
Learn you some rx for the greater good
Learn you some rx for the greater goodLearn you some rx for the greater good
Learn you some rx for the greater good
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach
 
Reakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyceReakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyce
 
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu
 
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
 
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
 
Artur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupachArtur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupach
 
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
 
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
 
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
 
Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model
 

GIT rozproszony system kontroli wersji

  • 1. ! #
  • 4. )
  • 5. /
  • 6. 0
  • 9. ! $ sudo apt-get install git $ git config --global user.name Piotr Macuk $ git config --global user.email piotr@macuk.pl /etc/gitconfig ~/.gitconfig .git/config git help config
  • 10. % $ mkdir -p pesel/src $ touch pesel/README $ touch pesel/src/pesel.rb pesel pesel/README pesel/src pesel/src/pesel.rb
  • 11. -
  • 13. 1 $ git status # On branch master # Untracked files: # README # src/ nothing added to commit but untracked files present (use git add to track)
  • 14. % $ git add . $ git status # On branch master # Changes to be committed: # new file: README # new file: src/pesel.rb
  • 15. 0
  • 16.
  • 17. $ git commit -m 'Init' [master (root-commit) 7b355ec] Init 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 README create mode 100644 src/pesel.rb $ git status # On branch master nothing to commit (working directory clean)
  • 18. ! ,
  • 19. pesel pesel/.git/index pesel/.git 0
  • 20.
  • 21. 0
  • 22.
  • 23. 8 02
  • 24. $ , ( $ cd .git/objects find e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 29/206d2658aaf11920998fac41a9f5f7047418fb 4b/b2a6cec1e0c51741998cd243367706bbfb3b83 7b/355ecc8206060071ff60038fa034aab580dd59
  • 25. .
  • 26. $ echo 'Pesel library.' README $ git add README $ git commit -m 'Doc'
  • 27. $ , ( $ cd .git/objects find e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 29/206d2658aaf11920998fac41a9f5f7047418fb 4b/b2a6cec1e0c51741998cd243367706bbfb3b83 7b/355ecc8206060071ff60038fa034aab580dd59 d3/db0ebf6844ddc3ef19920e753bdf66f332a565 50/947a5824bab56cf14775c6594745f5b4409f2f 6a/aa7ae7ded1c036bc433a49906733a81da6fc9e
  • 28. 1: 8; Init Doc pesel tree 4bb2a6c 6aaa7ae pesel/README blob e69de29 50947a5 pesel/src tree 29206d2 29206d2 pesel/src/pesel.rb blob e69de29 e69de29
  • 29. 1 ! Init Doc commit commit 7b355ec d3db0eb tree tree pesel pesel 4bb2a6c 6aaa7ae blob tree blob e69de29 29206d2 50947a5 README src README src/pesel.rb
  • 30. , ( blob (size)0 tree (size)0 content 100644 blob e69de29 README 040000 tree 29206d2 src Commit (size)0 tag (size)0 tree 6aaa7ae object d3db0eb parent 7b355ec type commit author Piotr Macuk tag v0.0.1 piotr@macuk.pl tagger Piotr Macuk 1271161942 +0200 piotr@macuk.pl committer Piotr Macuk Tue Apr 13 17:24:40 2010 piotr@macuk.pl 1271161942 +0200 First tag. Doc
  • 32. ,
  • 33. (, 2 obj = zlib(sha1(header + content)) obj = .git/objects/
  • 34. ) HEAD $ git branch fix23 $ git checkout fix23 master fix23 F D $ git checkout -b fix23 E C $ git branch -d fix23 B A
  • 35. %
  • 37.
  • 39. $ git tag v0.0.1 $ git tag -a v1.0 $ git tag -s v1.0signed $ git tag -l
  • 40. ' @ $ cd .git/refs/ find HEAD master fix23 tags/v0.0.1 heads/master F D heads/fix23 E C tag: v0.0.1 B A
  • 41. ! $ git merge fix23 HEAD $ git branch -d fix23 master HEAD G master fix23 F D F D E C E C B B A A
  • 42. , D
  • 43. ! HEAD HEAD $ git checkout fix23 master fix23 $ git rebase master D2 D2 HEAD C2 C2 master fix23 master F D F F E C E $ git checkout master E $ git merge fix23 $ git branch -d fix23 B B B A A A
  • 44. : 9 ! $ git log commit d3db0ebf6844ddc3ef19920e753bdf66f332a565 Author: Piotr Macuk piotr@macuk.pl Date: Tue Apr 13 14:43:39 2010 +0200 Doc commit 7b355ecc8206060071ff60038fa034aab580dd59 Author: Piotr Macuk piotr@macuk.pl Date: Tue Apr 13 14:32:22 2010 +0200 Init
  • 45. : 9 ! $ git log $ git log -p $ git log file1 file2 dir3 $ git log tag..branch $ git log HEAD~10.. $ git log -10 $ git log --author=fred $ git log --grep=some text $ git log -Ssome code
  • 46. $ git show commit d3db0ebf6844ddc3ef19920e753bdf66f332a565 Author: Piotr Macuk piotr@macuk.pl Date: Tue Apr 13 14:43:39 2010 +0200 Dokumentacja diff --git a/README b/README index e69de29..50947a5 100644 --- a/README +++ b/README @@ -0,0 +1 @@ +Pesel library.
  • 47. (= ! ,
  • 48. pesel pesel/.git/index pesel/.git git diff git diff HEAD git diff --cached
  • 49. $ git commit --amend $ git reset --soft $ git reset --hard # UWAGA
  • 53. '() =
  • 55. $ git clone url dir $ git remote add janek url $ git pull (lub fetch + merge) $ git push
  • 56. + private private jan ola jan$ git remote add ola file://home/ola/pesel ola$ git remote add jan file://home/jan/pesel $ git pull # bez push! ola$ git branch -a * master remotes/jan/master
  • 57. '() shared private private private private $ git clone --bare pesel pesel.git $ scp -r pesel.git server:~/ $ git remote add shared server:~/pesel.git
  • 58. public public public public main private private private Opiekun Developer Developer
  • 59. / '() ) ) $ git format-patch master~3 $ git apply *.patch $ git add … $ git commit
  • 60. ' ! ! ! ,
  • 61. ! 28 ! , ! L ! ! 2L ! ! ! 2 !
  • 62. % ! P Q R ! PR S! PT R P'R 7 P 1 7R ! L P
  • 63. 5 4R
  • 64. + 2 UQQ! 8
  • 66.
  • 68. 2 UQQ! ! 2 UQQ!
  • 69. *