Slide 1

Slide 1 text

Gitษڧձ@KRAY danny גࣜձࣾΫϨΠ 2013 7/5

Slide 2

Slide 2 text

ࣗݾ঺հ • Blog (http://f96q.github.io/) • ීஈ͸RailsͰWebΞϓϦͷ։ൃΛ΍ͬͯ ·͢ • ࠷ۙ͸iPhoneΞϓϦͷ։ൃΛ΍ͬͯ·͢

Slide 3

Slide 3 text

ࣗݾ঺հ Rubyist Magazine 0041߸

Slide 4

Slide 4 text

ࣗݾ঺հ

Slide 5

Slide 5 text

ࠓ೔࿩͢͜ͱ • Gitͷ࣮ફతͳ࢖͍ํ • GitLabʹ͍ͭͯ • Gitͷιʔείʔυղੳ

Slide 6

Slide 6 text

Gitͷ࣮ફతͳ࢖͍ํ

Slide 7

Slide 7 text

ҰͭͷϦϙδτϦͰσβΠϯ༻ͷ੩త htmlͱΞϓϦͷιʔείʔυΛ؅ཧ͠ ͨΜ͚ͩͲ

Slide 8

Slide 8 text

orphan branch • ࠜݩ͕ͭͳ͕ͬͯͳ͍ϒϥϯνΛ࡞Ε Δ • git checkout --orphan branch-name

Slide 9

Slide 9 text

Ͱ΋͍͍ͪͪσβΠϯ༻ͷϒϥϯνͱ ։ൃ༻ͷϒϥϯνΛ੾Γସ͑ͨ͘ͳ͍ Μ͚ͩͲ

Slide 10

Slide 10 text

git-new-workdir • ϫʔΩϯάίϐʔΛෳ਺࣋ͯΔ

Slide 11

Slide 11 text

rebaseͨ͠Βmergeίϛοτ͕ফ͑ͯ ͠·͏Μ͚ͩͲ

Slide 12

Slide 12 text

mergeίϛοτΛอ࣋ͨ͠··rebase • git rebase -p branch-name

Slide 13

Slide 13 text

ϦϞʔτϦϙδτϦʹpush͢Δͱ411 ͕ฦ͖ͬͯͯpushͰ͖ͳ͍Μ͚ͩͲ

Slide 14

Slide 14 text

• git config http.postBufferͷαΠζΛେ͖ ͘͢Δ

Slide 15

Slide 15 text

աڈͷίϛοτΛૉૣ͘ಡΈ͍ͨΜͩ ͚Ͳ

Slide 16

Slide 16 text

ϦϙδτϦϒϥ΢β •brew install tig

Slide 17

Slide 17 text

MacͰ࢖ͬͯΔͱ.DS_StoreΛίϛοτ ͦ͠͏ʹͳΔΜ͚ͩͲ

Slide 18

Slide 18 text

ίϛοτͷର৅͔Β֎͢ [core] excludesfile = ~/.gitignore .gitconfig ~/.gitignore .DS_Store

Slide 19

Slide 19 text

GitLabʹ͍ͭͯ

Slide 20

Slide 20 text

Gitlabʹ͍ͭͯ • GithubΫϩʔϯ • RailsΞϓϦ • ࣾ಺ͩͱGitorious + GitHub͔ΒGitLabʹ • GitoriousͩͱɺͲͷϢʔβʔͰ΋શ෦ͷϦϙδτϦͷιʔε͕ΈΔ ͜ͱ͕Ͱ͖ͨ • GitHubͩͱϓϥΠϕʔτϦϙδτϦ૿͑Δ΄Ͳ͓͕͔͔ۚΔ

Slide 21

Slide 21 text

GitLab͍͍ͱ͜Ζ • ಛఆͷϢʔβʔ͚ͩΈΕΔϦϙδτϦ ࡞ΕΔ • ϓϥΠϕʔτϦϙδτϦ࡞Γ์୊ • merge request • GitHubʹൺ΂ͨΒػೳతʹ͸ྼΔͱ͜ Ζ͸͋Δ͚Ͳͦͦ͜͜࢖͑Δ

Slide 22

Slide 22 text

GitLabେมͳ͜ͱ • αʔόʔ༻ҙ • ໰୊͕ग़ͨΒࣗ෼ͨͪͰղܾ͠ͳ͍ͱ ͍͚ͳ͍ • ࢖ͬͯΔͱෆ۩߹ʹૺ۰ • sidekickམͪͯΔ • ϝʔϧ͕ඈ͹ͳ͍ • ϦϙδτϦ৽ن࡞੒ͯ͠࠷ॳͷpushͰ͖ͳ͍

Slide 23

Slide 23 text

Gitͷιʔείʔυղੳ

Slide 24

Slide 24 text

GitͷΦϒδΣΫτͷλΠϓ enum object_type { OBJ_BAD = -1, OBJ_NONE = 0, OBJ_COMMIT = 1, OBJ_TREE = 2, OBJ_BLOB = 3, OBJ_TAG = 4, /* 5 for future expansion */ OBJ_OFS_DELTA = 6, OBJ_REF_DELTA = 7, OBJ_ANY, OBJ_MAX };

Slide 25

Slide 25 text

Object struct object { unsigned parsed : 1; unsigned used : 1; unsigned type : TYPE_BITS; unsigned flags : FLAG_BITS; unsigned char sha1[20]; };

Slide 26

Slide 26 text

bolb struct blob { struct object object; };

Slide 27

Slide 27 text

tree struct tree { struct object object; void *buffer; unsigned long size; };

Slide 28

Slide 28 text

tag struct tag { struct object object; struct object *tagged; char *tag; unsigned long date; };

Slide 29

Slide 29 text

commit struct commit { struct object object; void *util; unsigned int index; unsigned long date; struct commit_list *parents; struct tree *tree; char *buffer; }; struct commit_list { struct commit *item; struct commit_list *next; };

Slide 30

Slide 30 text

·ͱΊ • σʔλʔߏ଄ΈΔ͚ͩͰ΋෼͔Δ͜ͱ ͕͋Δ