How to contribute to Git

How to contribute to Git

Gitに貢献する方法
Qiita主催のGet Great Git #2 at Nagoya での発表資料です
http://get-great-git-02.peatix.com

0807a4d6c0319198f4e0abe639ee2703?s=128

Hiroshige Umino

September 07, 2013
Tweet

Transcript

  1. How to contribute to Git Get Great Git #2 @

    Nagoya @yaotti
  2. ࣗݾ঺հ @yaotti Hiroshige UMINO Incrementsגࣜձࣾ CEO Ruby, Objective-C Scheme, Emacs

    Gitྺ5೥ ޷͖ͳίϚϯυ: git rebase
  3. cherry-pick: allow "-" as abbreviation of '@{-1}'

  4. Gitʹߩݙ͢Δํ๏

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

  6. Gitͷ։ൃମ੍

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

  8. ύον git commit; ...; git format-patch -> patches/0000-foo-bar.patch ϝʔϧʹinlineʹؚΊͯૹΔ ϝʔϧͷ৘ใ

    = ίϛοτσʔλ 1ίϛοτ = ϝʔϧ1௨
  9. None
  10. ϒϥϯν

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

    ࡞ۀ͕׬ྃͨ͠Βtopic branch͕nextʹϚʔδ͞ΕΔ maint: ϝϯςφϯεϦϦʔε༻ɽਖ਼ࣜϦϦʔε͝ͱʹ੾ΒΕΔ
  12. Gitͷίʔυ

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

  14. ίʔυߏ੒ git-* ίϚϯυ: ΄΅CͰ࣮૷͞Ε͍ͯΔ͕ɼ Ұ෦γΣϧεΫϦϓτ pull, rebase, stash, bisect, ...

    ςετ: γΣϦεΫϦϓτͰهड़ git-add, commitͳͲ࣮ߦ!ϑΝΠϧ಺༰ͷ ൺֱͳͲ
  15. ύον࡞੒͔ΒऔΓࠐ·ΕΔ·Ͱ

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

  17. ࣮૷ όάमਖ਼: 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)
  18. ίϛοτϝοηʔδ SubmittingPatchesʹॻ͔Ε͍ͯΔݪଇʹै͏ 1ߦ໨: 50จࣈ͕soft limitɼύονͷର৅Λઌ಄ ʹॻ͘ɼͳͲ “cherry-pick: allow "-" as

    abbreviation of '@{-1}'” ӳޠͰ໌ྎͳίϛοτϝοηʔδΛॻ͘ git log --no-merges
  19. ύονϑΝΠϧͷ࡞੒&ૹ৴ 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
  20. ϨϏϡʔΛ଴ͭ ͱͯ΋ஸೡʹରԠͯ͠΋Β͑Δ Ϩεϙϯε͕ૣ͍ σΟεΧογϣϯͰҙਤΛ͖ͪΜͱ఻͑Δ

  21. ໰୊͕͋ͬͨͱ͖ ࠶౓मਖ਼͠ύονΛ࡞Δ ϝʔϧͷsubject͸[PATCH v2], [PATCH v3]ͷΑ͏ʹ͢Δ tip: “-- 8< --”

    (scissors) ίϛοτϝοηʔδʹ͸ؚΊͨ͘ͳ͍͕ϝʔϧ ʹೖΕ͍ͨจষΛॻ͘ͱ͖࢖͏
  22. ໰୊ͳ͔ͬͨͱ͖ next(΋͘͠͸pu)ϒϥϯνʹऔΓࠐ·ΕΔ ద౰ͳλΠϛϯάͰmasterʹೖΔ “What's cooking in git.git”ϝʔϧ

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