Slide 1

Slide 1 text

ࣾձͰੜ͖࢒ΔͨΊͷ git @giginet

Slide 2

Slide 2 text

୭ʁ • @giginet (Twitter/GitHub) • ΫοΫύουɹٕज़෦ϞόΠϧج൫άϧʔϓ • iOSج൫։ൃ • ๺ւಓവؗࢢग़਎ɺ๺େ • iOSDCͰ࿩͠·͢

Slide 3

Slide 3 text

ࣾձ #ͱ͸

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

ࣾձ w ͱʹ͔͘ڊେͳίʔυϕʔε w ୭͕ॻ͍͔ͨΘ͔Βͳ͍ίʔυ w ҙਤͷΘ͔Βͳ͍มߋ w ແݶʹίϯϑϦΫτ͢ΔϑΝΠϧ w มߋ͠ͳ͍ͱ͍͚ͳ͍ϓϩδΣΫτଟ਺ w ϓϥΠϕʔτͱͷཱ྆

Slide 9

Slide 9 text

ࣾձ w ͱʹ͔͘ڊେͳίʔυϕʔεˠHSFQ͠·͘Γ w ୭͕ॻ͍͔ͨΘ͔Βͳ͍ίʔυˠCMBNF͠·͘Γ w ҙਤͷΘ͔Βͳ͍มߋˠ13୳͠·͘Γ w ແݶʹίϯϑϦΫτ͢ΔϑΝΠϧˠSFCBTF͠·͘Γ w มߋ͠ͳ͍ͱ͍͚ͳ͍ϓϩδΣΫτଟ਺ˠDMPOF͠·͘Γ w ϓϥΠϕʔτͱͷཱ྆

Slide 10

Slide 10 text

ࠓ೔͔Β࢖͑Δgitज़

Slide 11

Slide 11 text

Φεεϝgit Utility • tig • hub • ghq • gibo • git-user

Slide 12

Slide 12 text

jonas/tig • CLIͰಈ͘άϥϑΟΧϧͳgitΫϥΠΞϯτ • ػೳͱγϣʔτΧοτ๛෋ • log, status, blame, grep • ΧελϚΠζ΍֦ு΋Մೳ • ͜Ε͕ͳ͍ͱ࢓ࣄͰ͖ͳ͍

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

.tigrc • tigrcͰศརίϚϯυ֦ுྫ • ίϛοτϋογϡΛίϐʔ • ίϛοτͱHEADͱͷcompareΛϒϥ΢βͰ։͘ • ࢦఆͨ͠ίϛοτ͔Βrebase -i • blameͰબ୒ͨ͠ߦͷมߋΛؚΉPRΛ୳͖ͯͯ͠ϒϥ΢β Ͱ։͘

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

github/hub • gitʹGitHub APIΛѻ͏ͨΊͷศརαϒίϚϯυ͕૿͑Δ • GHEͰ΋࢖͑Δ $ git create # GitHubʹϦϙδτϦ࡞੒ $ git fork # fork͢Δ $ git browse # ϒϥ΢βͰ։͘ $ git pull-request # ΤσΟλ͕։͍ͯPRૹΕΔ

Slide 18

Slide 18 text

simonwhitaker/gibo • .gitignoreͷςϯϓϨʔτউखʹੜ੒ͯ͘͠ΕΔౕ • ϓϩδΣΫτͷbootstrapʹศར $ gibo Swift > .gitignore

Slide 19

Slide 19 text

motemen/ghq • cloneͨ͠ϦϙδτϦΛҰׅ؅ཧ • GHEʹ΋ରԠ $ ghq get apple/Swift $ ghq look apple/Swift

Slide 20

Slide 20 text

gesquive/git-user • authorઃఆΛϓϩδΣΫτ͝ͱʹ੾Γସ͑ΕΔ΍ͭ • ࣾ಺ͷίʔυͱOSSͰAuthorΛม͍͑ͨͱ͖ʹศར

Slide 21

Slide 21 text

IncludeIf(.gitconfig) • ಛఆͷσΟϨΫτϦύε͚ͩઃఆΛม͑Δ • ࢓ࣄ༻ͱOSS༻ʹΘ͚͓ͯ͘ͱศར • ghqͱซ༻ͯ͠ghqͷύεҎԼͰઃఆΛม͑Δ [includeIf "gitdir:~/.ghq/github.com/"] path = ~/.gitconfig.public [includeIf "gitdir:~/.ghq/github.com/cookpad/"] path = ~/.gitconfig.work

Slide 22

Slide 22 text

$ vim Snippet.swift $ git init $ gibo Swift > .gitignore $ git user set giginet $ tig status $ git create $ git push -u origin master ৽نϓϩδΣΫτ࡞੒

Slide 23

Slide 23 text

$ ghq get apple/Swift $ ghq look apple/Swift $ git fork $ git checkout -b feature … $ git push -u giginet feature $ git pull-request γϡοͱPRૹΔ

Slide 24

Slide 24 text

.gitconfig • aliasͰ͍Ζ͍ΖͰ͖Δ # aliasషΔ͚ͩ cp = cherry-pick # Shell Script࣮ߦ st = !"tig status" # Ҿ਺Λ౉͢ gsub = !"f() { git grep -l \"$1\" | xargs sed -i '' - e \"s/$1/$2/g\"; }; f"

Slide 25

Slide 25 text

.gitconfig • ΅͘ͷ͔Μ͕͍͖͑ͨ͞ΐ͏ͷΤΠϦΞεྫ • git gsub • ϦϙδτϦ಺ͷશͯΛਖ਼نදݱஔ׵ • git delete-merged • mergeࡁΈͷෆཁͳϒϥϯνΛҰׅ࡟আ • git open-branch • ݱࡏͷϒϥϯν͔Βग़ͨ͠PRΛϒϥ΢βͰ։͘ • https://github.com/giginet/castle/blob/master/home/.gitconfig

Slide 26

Slide 26 text

·ͱΊ • ࣾձͰੜ͖ൈͨ͘Ίʹ͸εϐʔυײ • Shell/NeoVimฤ΋͍͔ͭ΍Γ͍ͨ • ࠓճ঺հͨ͠dotfiles • https://github.com/giginet/castle/blob/master/ home/.gitconfig • https://github.com/giginet/castle/blob/master/home/.tigrc

Slide 27

Slide 27 text

ࣾձΛମݧ https://info.cookpad.com/pages/ new_graduates_recruitment

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠