Slide 1

Slide 1 text

How to contribute to Git Get Great Git #2 @ Nagoya @yaotti

Slide 2

Slide 2 text

ࣗݾ঺հ @yaotti Hiroshige UMINO Incrementsגࣜձࣾ CEO Ruby, Objective-C Scheme, Emacs Gitྺ5೥ ޷͖ͳίϚϯυ: git rebase

Slide 3

Slide 3 text

cherry-pick: allow "-" as abbreviation of '@{-1}'

Slide 4

Slide 4 text

Gitʹߩݙ͢Δํ๏

Slide 5

Slide 5 text

֓ཁ Gitͷ։ൃମ੍ ίʔυߏ੒ ύον࡞੒͔ΒऔΓࠐ·ΕΔ·ͰͷྲྀΕ

Slide 6

Slide 6 text

Gitͷ։ൃମ੍

Slide 7

Slide 7 text

ϝʔϧ ΍ΓऔΓ͸શͯϝʔϦϯάϦετͰ http://dir.gmane.org/ gmane.comp.version-control.git όάใࠂɼύονૹ෇ɼϨϏϡʔ GitHubͷPR͸࢖Θͳ͍ɼແࢹ͞ΕΔ

Slide 8

Slide 8 text

ύον git commit; ...; git format-patch -> patches/0000-foo-bar.patch ϝʔϧʹinlineʹؚΊͯૹΔ ϝʔϧͷ৘ใ = ίϛοτσʔλ 1ίϛοτ = ϝʔϧ1௨

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

ϒϥϯν

Slide 11

Slide 11 text

gitϨϙδτϦͷϒϥϯν master next: ϝϯςφʹΑΓ͓ͦΒ͘໰୊ͳ͍ͱΈͳ͞Εͨύον͕ೖΔ pu(proposed updates): topic branchΛू໿ͨ͠ϒϥϯν ௥Ճ࡞ۀ͕ඞཁͳύον͕ೖΔ(ςετෆ଍ɼυΩϡϝϯτෆ ଍) ࡞ۀ͕׬ྃͨ͠Βtopic branch͕nextʹϚʔδ͞ΕΔ maint: ϝϯςφϯεϦϦʔε༻ɽਖ਼ࣜϦϦʔε͝ͱʹ੾ΒΕΔ

Slide 12

Slide 12 text

Gitͷίʔυ

Slide 13

Slide 13 text

ݴޠߏ੒ 10% 10% 35% 45% C ShellScript Perl Others

Slide 14

Slide 14 text

ίʔυߏ੒ git-* ίϚϯυ: ΄΅CͰ࣮૷͞Ε͍ͯΔ͕ɼ Ұ෦γΣϧεΫϦϓτ pull, rebase, stash, bisect, ... ςετ: γΣϦεΫϦϓτͰهड़ git-add, commitͳͲ࣮ߦ!ϑΝΠϧ಺༰ͷ ൺֱͳͲ

Slide 15

Slide 15 text

ύον࡞੒͔ΒऔΓࠐ·ΕΔ·Ͱ

Slide 16

Slide 16 text

ࣄલ४උ GitϝʔϦϯάϦετΛߪಡ͠งғؾΛ஌Δ http://git-scm.com/community git clone https://github.com/git/git υΩϡϝϯτΛಡΉ SubmittingPatches, CodingGudelines, t/README

Slide 17

Slide 17 text

࣮૷ όάमਖ਼: maint, ৽ػೳ: master͔Βcheckout ࣮૷࣌͸ςετ΋͖ͪΜͱॻ͘ ϢʔςΟϦςΟ͸ t/test-lib-functions.sh ʹ (test_commit, test_mergeͳͲ) TAP: prove --timer --jobs 8 ./t[0-9]*.sh ίϛοτ࣌ʹ͸sign-off͢Δ(git commit -s)

Slide 18

Slide 18 text

ίϛοτϝοηʔδ SubmittingPatchesʹॻ͔Ε͍ͯΔݪଇʹै͏ 1ߦ໨: 50จࣈ͕soft limitɼύονͷର৅Λઌ಄ ʹॻ͘ɼͳͲ “cherry-pick: allow "-" as abbreviation of '@{-1}'” ӳޠͰ໌ྎͳίϛοτϝοηʔδΛॻ͘ git log --no-merges

Slide 19

Slide 19 text

ύονϑΝΠϧͷ࡞੒&ૹ৴ git format-patch -M origin/master -o mypatches mypatches/0000-foo-bar-baz- of-1.patch “[PATCH 1/2] foo: bar baz” git send-email mypatches/*.patch

Slide 20

Slide 20 text

ϨϏϡʔΛ଴ͭ ͱͯ΋ஸೡʹରԠͯ͠΋Β͑Δ Ϩεϙϯε͕ૣ͍ σΟεΧογϣϯͰҙਤΛ͖ͪΜͱ఻͑Δ

Slide 21

Slide 21 text

໰୊͕͋ͬͨͱ͖ ࠶౓मਖ਼͠ύονΛ࡞Δ ϝʔϧͷsubject͸[PATCH v2], [PATCH v3]ͷΑ͏ʹ͢Δ tip: “-- 8< --” (scissors) ίϛοτϝοηʔδʹ͸ؚΊͨ͘ͳ͍͕ϝʔϧ ʹೖΕ͍ͨจষΛॻ͘ͱ͖࢖͏

Slide 22

Slide 22 text

໰୊ͳ͔ͬͨͱ͖ next(΋͘͠͸pu)ϒϥϯνʹऔΓࠐ·ΕΔ ద౰ͳλΠϛϯάͰmasterʹೖΔ “What's cooking in git.git”ϝʔϧ

Slide 23

Slide 23 text

·ͱΊ githubͷPRϕʔεͷ։ൃͱ͸ҧ͏ ৭ʑࣗಈԽ͞Ε͍ͯΔͷͰ׳ΕΕ͹ָ ίϚϯυϥΠϯ, ΤσΟλ, ϝʔϥʔ GitʹԸฦ͠ :)