Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to contribute to Git
Search
Hiroshige Umino
September 07, 2013
Technology
1
290
How to contribute to Git
Gitに貢献する方法
Qiita主催のGet Great Git #2 at Nagoya での発表資料です
http://get-great-git-02.peatix.com
Hiroshige Umino
September 07, 2013
Tweet
Share
More Decks by Hiroshige Umino
See All by Hiroshige Umino
Product Team Management
yaotti
16
35k
開発フローの作り方
yaotti
37
12k
プログラミングの道具作り
yaotti
3
270
Sole Rubyist's Fight
yaotti
4
700
Technology supporting Qiita and Kobito
yaotti
4
400
Qiita at #fluxflex meetup
yaotti
3
330
Other Decks in Technology
See All in Technology
OpenClawで回す組織運営
jacopen
3
700
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
560
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
240
PMとしての意思決定とAI活用状況について
lycorptech_jp
PRO
0
100
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.7k
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
290
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.2k
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
610
アーキテクチャモダナイゼーションを実現する組織
satohjohn
0
530
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
130
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
150
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
480
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
What's in a price? How to price your products and services
michaelherold
247
13k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How GitHub (no longer) Works
holman
316
140k
Transcript
How to contribute to Git Get Great Git #2 @
Nagoya @yaotti
ࣗݾհ @yaotti Hiroshige UMINO Incrementsגࣜձࣾ CEO Ruby, Objective-C Scheme, Emacs
Gitྺ5 ͖ͳίϚϯυ: git rebase
cherry-pick: allow "-" as abbreviation of '@{-1}'
Gitʹߩݙ͢Δํ๏
֓ཁ Gitͷ։ൃମ੍ ίʔυߏ ύον࡞͔ΒऔΓࠐ·ΕΔ·ͰͷྲྀΕ
Gitͷ։ൃମ੍
ϝʔϧ ΓऔΓશͯϝʔϦϯάϦετͰ http://dir.gmane.org/ gmane.comp.version-control.git όάใࠂɼύονૹɼϨϏϡʔ GitHubͷPRΘͳ͍ɼແࢹ͞ΕΔ
ύον git commit; ...; git format-patch -> patches/0000-foo-bar.patch ϝʔϧʹinlineʹؚΊͯૹΔ ϝʔϧͷใ
= ίϛοτσʔλ 1ίϛοτ = ϝʔϧ1௨
None
ϒϥϯν
gitϨϙδτϦͷϒϥϯν master next: ϝϯςφʹΑΓ͓ͦΒ͘ͳ͍ͱΈͳ͞Εͨύον͕ೖΔ pu(proposed updates): topic branchΛूͨ͠ϒϥϯν Ճ࡞ۀ͕ඞཁͳύον͕ೖΔ(ςετෆɼυΩϡϝϯτෆ )
࡞ۀ͕ྃͨ͠Βtopic branch͕nextʹϚʔδ͞ΕΔ maint: ϝϯςφϯεϦϦʔε༻ɽਖ਼ࣜϦϦʔε͝ͱʹΒΕΔ
Gitͷίʔυ
ݴޠߏ 10% 10% 35% 45% C ShellScript Perl Others
ίʔυߏ git-* ίϚϯυ: ΄΅CͰ࣮͞Ε͍ͯΔ͕ɼ Ұ෦γΣϧεΫϦϓτ pull, rebase, stash, bisect, ...
ςετ: γΣϦεΫϦϓτͰهड़ git-add, commitͳͲ࣮ߦ!ϑΝΠϧ༰ͷ ൺֱͳͲ
ύον࡞͔ΒऔΓࠐ·ΕΔ·Ͱ
ࣄલ४උ GitϝʔϦϯάϦετΛߪಡ͠งғؾΛΔ http://git-scm.com/community git clone https://github.com/git/git υΩϡϝϯτΛಡΉ SubmittingPatches, CodingGudelines, t/README
࣮ όάमਖ਼: 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)
ίϛοτϝοηʔδ SubmittingPatchesʹॻ͔Ε͍ͯΔݪଇʹै͏ 1ߦ: 50จࣈ͕soft limitɼύονͷରΛઌ಄ ʹॻ͘ɼͳͲ “cherry-pick: allow "-" as
abbreviation of '@{-1}'” ӳޠͰ໌ྎͳίϛοτϝοηʔδΛॻ͘ git log --no-merges
ύονϑΝΠϧͷ࡞&ૹ৴ 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
ϨϏϡʔΛͭ ͱͯஸೡʹରԠͯ͠Β͑Δ Ϩεϙϯε͕ૣ͍ σΟεΧογϣϯͰҙਤΛ͖ͪΜͱ͑Δ
͕͋ͬͨͱ͖ ࠶मਖ਼͠ύονΛ࡞Δ ϝʔϧͷsubject[PATCH v2], [PATCH v3]ͷΑ͏ʹ͢Δ tip: “-- 8< --”
(scissors) ίϛοτϝοηʔδʹؚΊͨ͘ͳ͍͕ϝʔϧ ʹೖΕ͍ͨจষΛॻ͘ͱ͖͏
ͳ͔ͬͨͱ͖ next(͘͠pu)ϒϥϯνʹऔΓࠐ·ΕΔ దͳλΠϛϯάͰmasterʹೖΔ “What's cooking in git.git”ϝʔϧ
·ͱΊ githubͷPRϕʔεͷ։ൃͱҧ͏ ৭ʑࣗಈԽ͞Ε͍ͯΔͷͰ׳ΕΕָ ίϚϯυϥΠϯ, ΤσΟλ, ϝʔϥʔ GitʹԸฦ͠ :)