Slide 1

Slide 1 text

GMO Pepabo, Inc. Kenichi TAKAHASHI 2014/10/01 ৽ଔΤϯδχΞݚम Git Hands-On

Slide 2

Slide 2 text

,FOJDIJ5",")"4)* IUUQTIVDSFBNOFU UXJUUFS!LFODIBO HJUIVCLFODIBO +PJOPO"QS   ! (FOUPP 'VOUPP -JOVY 5JMJOH8JOEPX.BOBHFS ,JOFTJT$POUPVSFE,FZCPBSE !

Slide 3

Slide 3 text

$POUFOUT  αϒίϚϯυͱNBO  ίϛοτɺϒϥϯνɺλά  NFSHFͱSFCBTF

Slide 4

Slide 4 text

αϒίϚϯυͱNBO

Slide 5

Slide 5 text

mkdir git-hands-on cd git-hands-on git init

Slide 6

Slide 6 text

touch README.md git status

Slide 7

Slide 7 text

git add README.md

Slide 8

Slide 8 text

git status

Slide 9

Slide 9 text

git commit -m ‘initial commit’

Slide 10

Slide 10 text

man git-commit

Slide 11

Slide 11 text

&YFSDJTFT  HJUMPHͷNBOΛݟͯɺ࢖ͬͨ͜ͱ ͷͳ͍ΦϓγϣϯΛࢼͯ͠ΈΑ͏

Slide 12

Slide 12 text

echo ‘# Git Tutorial’ > README.md

Slide 13

Slide 13 text

git diff

Slide 14

Slide 14 text

git add -u

Slide 15

Slide 15 text

man git-add

Slide 16

Slide 16 text

git diff --staged

Slide 17

Slide 17 text

git commit -m ‘Add title’

Slide 18

Slide 18 text

git log

Slide 19

Slide 19 text

3FDBQ  αϒίϚϯυͱNBOͷ࢖͍ํ  εςʔδͱ͍͏֓೦

Slide 20

Slide 20 text

"EWBODFE&YFSDJTFT  HJUEJ⒎ŠTUBHFEΛ࣮ߦ͢Δαϒί ϚϯυɺHJUETΛ࡞ͬͯΈΑ͏

Slide 21

Slide 21 text

mkdir bin ! echo "\!#/bin/sh\n\ngit diff -- staged" > bin/git-ds ! chmod +x bin/git-ds ! PATH=./bin:$PATH git ds

Slide 22

Slide 22 text

ίϛοτ ϒϥϯν λά

Slide 23

Slide 23 text

git log git log --oneline git log --oneline --decorate

Slide 24

Slide 24 text

man git-log

Slide 25

Slide 25 text

git tag v0.0.1

Slide 26

Slide 26 text

git log --oneline --decorate

Slide 27

Slide 27 text

git branch update-readme

Slide 28

Slide 28 text

git log --oneline --decorate

Slide 29

Slide 29 text

&YFSDJTFT  DPNNJUɺCSBODIɺUBH͸Կ͕ҧ͏ ͷ͔࿩͋ͬͯ͠ΈΑ͏

Slide 30

Slide 30 text

ޡղΛڪΕͣʹݴ͏ͱ commitͷϋογϡͷผ໊͕ ϒϥϯνɺλά

Slide 31

Slide 31 text

git log --oneline --decorate

Slide 32

Slide 32 text

HEAD͸ࠓ͍Δίϛο τΛࠩ͢ϙΠϯλ

Slide 33

Slide 33 text

git checkout (Ұͭલͷίϛοτ) git log --online --decorate

Slide 34

Slide 34 text

git checkout master git log --oneline --decorate

Slide 35

Slide 35 text

&YFSDJTFT  NBTUFSͷҰͭલͷίϛοτΛ DIFDLPVU͠ɺ3&"%.&Λमਖ਼͠ ͯίϛοτͯ͠ΈΑ͏  ͜ͷͱ͖ɺίϛοτͷάϥϑ͕Ͳ͏ ͳ͍ͬͯΔ͔ߟ͑ͯΈΑ͏

Slide 36

Slide 36 text

git checkout HEAD~ echo 'hello antipop' >> README.md ! git add -u git commit -m 'Lost commit' ! git log --oneline --decorate ! git checkout master ! git log --oneline --decorate

Slide 37

Slide 37 text

3FDBQ  ϩά͸ίϛοτͷ࿈ͳΓ  UBH CSBODI͸DPNNJUͷผ໊  )&"%͸ࠓ͍Δͱ͜ΖΛࠩ͢ϙΠϯ λ

Slide 38

Slide 38 text

"EWBODFE&YFSDJTF  ḷΕͳ͘ͳͬͨίϛοτΛ෮چ͢Δ ํ๏Λ஌Β΂ͯΈΑ͏

Slide 39

Slide 39 text

NFSHFͱSFCBTF

Slide 40

Slide 40 text

git checkout update-readme

Slide 41

Slide 41 text

echo 'hello hsbt' >> README.md ! git diff ! git add -u ! git commit -m 'Hello hsbt'

Slide 42

Slide 42 text

echo 'Konichiwa Rails' >> README.md ! git diff ! git add -u ! git commit -m 'Konichiwa Rails' ! git log --oneline --decorate

Slide 43

Slide 43 text

git checkout master

Slide 44

Slide 44 text

touch History.md ! git add History.md ! git commit -m 'Create History.md’ ! git log --oneline --decorate !

Slide 45

Slide 45 text

git merge update-readme

Slide 46

Slide 46 text

&YFSDJTF T  NFSHFίϛοτΛΈͯίϛοτͷܨ ΓΛ૝૾ͯ͠ΈΑ͏

Slide 47

Slide 47 text

"EWBODFE&YFSDJTFT  ΋͠ɺNBTUFSʹίϛοτ૿͑ͯͳ ͔ͬͨͱ͖ͷϚʔδʹ͍ͭͯௐ΂ͯ ΈΑ͏ ώϯτ'BTU'PSXBSE

Slide 48

Slide 48 text

git checkout -b hello-swift ! echo 'Hello Swift' > Swift.md ! git add Swift.md ! git commit -m 'Add Swift.md'

Slide 49

Slide 49 text

git checkout master ! echo 'Hello Android' >> README.md ! git add -u ! git commit -m ‘Hello Android'

Slide 50

Slide 50 text

git checkout hello-swift

Slide 51

Slide 51 text

git log --oneline --decorate ! (ίϛοτΛϝϞ͓ͯ͜͠͏)

Slide 52

Slide 52 text

git rebase master

Slide 53

Slide 53 text

git log --oneline --decorate

Slide 54

Slide 54 text

&YFSDJTFT  SFCBTFʹΑͬͯίϛοτͷܨ͕Γ ͕Ͳ͏มΘͬͨͷ͔૝૾ͯ͠ΈΑ͏  ϝϞ͓͍ͯͨ͠ίϛοτΛDIFDLPVU ͯ͠ɺHJUMPHΛݟͯΈΑ͏

Slide 55

Slide 55 text

3FDBQ  HJUNFSHF͸ͭͷίϛοτΛ૆ઌ ʹ࣋ͭίϛοτΛ࡞Δ  HJUSFCBTF͸ίϛοτ͔ΒύονΛ ࡞ͬͯɺͦΕΛҰͭͣͭ౰͍ͯͯ͘

Slide 56

Slide 56 text

"EWBODFE&YFSDJTFT  NFSHFͱSFCBTFͰͦΕͧΕίϯϑ ϦΫτͷղܾํ๏ʹ͍ͭͯ࿩͋ͬͯ ΈΑ͏

Slide 57

Slide 57 text

·ͱΊ

Slide 58

Slide 58 text

$POUFOUT  αϒίϚϯυͱNBO  ίϛοτɺϒϥϯνɺλά  NFSHFͱSFCBTF

Slide 59

Slide 59 text

αϒίϚϯυͱNBO  NBOͷ࢖͍ํ  εςʔδͱ͍͏֓೦

Slide 60

Slide 60 text

ίϛοτɺϒϥϯνɺλά  ϩά͸ίϛοτͷ࿈ͳΓ  UBH CSBODI͸DPNNJUͷผ໊  )&"%͸ࠓ͍Δͱ͜ΖΛࠩ͢ϙΠϯ λ

Slide 61

Slide 61 text

NFSHFͱSFCBTF  HJUNFSHF͸ͭͷίϛοτΛ૆ઌ ʹ࣋ͭίϛοτΛ࡞Δ  HJUSFCBTF͸ίϛοτ͔ΒύονΛ ࡞ͬͯɺͦΕΛҰͭͣͭ౰͍ͯͯ͘

Slide 62

Slide 62 text

ଓ͖͸ Pro Git http://progit-ja.github.io/

Slide 63

Slide 63 text

"OZ2VFTUJPOT