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
280
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
34k
開発フローの作り方
yaotti
37
12k
プログラミングの道具作り
yaotti
3
250
Sole Rubyist's Fight
yaotti
4
650
Technology supporting Qiita and Kobito
yaotti
4
380
Qiita at #fluxflex meetup
yaotti
3
310
Other Decks in Technology
See All in Technology
エンジニアリングマネージャー“お悩み相談”パネルセッション
ar_tama
1
550
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
7k
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
5
170
室長の逆襲 :データ活用の陣地を増やすためのヒント
masatoshi0205
0
170
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.2k
"Découvrir le Liberland"
rlifchitz
0
130
Data Engineering Study#30 LT資料
tetsuroito
1
520
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
330
How do i Get in Touch With QuickBooks Payroll Support®️ USA Contact Numbers: Complete 2025 Support Guide
connectquickbooks
0
110
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
240
claude codeでPrompt Engineering
iori0311
0
290
SREを知らずに SREマネージャーになった話 / How I Became an SRE Manager Without Knowing What SRE Is
moneyforward
0
230
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
A Tale of Four Properties
chriscoyier
160
23k
Become a Pro
speakerdeck
PRO
29
5.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Thoughts on Productivity
jonyablonski
69
4.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Producing Creativity
orderedlist
PRO
346
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing Experiences People Love
moore
142
24k
Building Adaptive Systems
keathley
43
2.7k
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ʹԸฦ͠ :)