Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How to contribute to Git
Hiroshige Umino
September 07, 2013
Technology
1
260
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
33k
開発フローの作り方
yaotti
37
11k
プログラミングの道具作り
yaotti
3
240
Sole Rubyist's Fight
yaotti
4
550
Technology supporting Qiita and Kobito
yaotti
4
330
Qiita at #fluxflex meetup
yaotti
3
290
Other Decks in Technology
See All in Technology
Periodic Multi-Agent Path Planning
hziwara
0
110
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
0
100
あつめたデータをどう扱うか
skrb
2
160
ChatGPT for Hacking
anugrahsr
0
4.4k
IoT から見る AWS re:invent 2022 ― AWSのIoTの歴史を添えて/Point of view the AWS re:invent 2022 with IoT - with a history of IoT in AWS
ma2shita
0
250
OpenShiftでスポットVMを使おう.pdf
jpishikawa
1
330
組織に対してSREを適用するとどうなるか
kuniim
7
2.7k
cdk deployに必要な権限ってなんだ?
kinyok
0
170
FlexScan HD2452Wの 後継を探して
tring
0
6.3k
OPENLOGI Company Profile
hr01
0
12k
【Λ(らむだ)】WinActorから始めるいつのまにリスキリング / WinAtorライトニングトーク大会20230123
lambda
0
100
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
490
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
182
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
How STYLIGHT went responsive
nonsquared
89
4.2k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
BBQ
matthewcrist
75
8.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
StorybookのUI Testing Handbookを読んだ
zakiyama
8
3.2k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
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ʹԸฦ͠ :)