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
git-daily: A tool supports a daily workflow wit...
Search
Sotaro Karasawa
October 15, 2011
Technology
6
4.8k
git-daily: A tool supports a daily workflow with remote
Python Developers Festa 2011.10.
Sotaro Karasawa
October 15, 2011
Tweet
Share
More Decks by Sotaro Karasawa
See All by Sotaro Karasawa
P2B Haus法人サポータープランのご提案
sotarok
2
1.1k
ソフトウェアxスタートアップから見た飲食と配送の世界 / The World of Food Deliverlies and Restaurant Businesses from a Software and Startup Perspective
sotarok
2
1.2k
CTO 3度目の正直 / My 3rd CTO Career
sotarok
21
10k
Introduction to the Corporate Solutions Engineering at MTC2018
sotarok
1
36k
Mercari meetup for Corporate Engineering #1 / What is "Corporate Engineering"?
sotarok
2
2.3k
Markdown and WYSIWYG
sotarok
1
6k
20 Jan 2017 / Moving Beyond Borders - Mercari DAY
sotarok
8
15k
PHPBLT の心得 / PHPBLT #5 @ペパボ
sotarok
5
3.5k
Wiki についての今昔物語 / Crowi
sotarok
5
15k
Other Decks in Technology
See All in Technology
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
350
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
160
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
210
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
7.6k
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.4k
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
670
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
220
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
150
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
110
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Making Projects Easy
brettharned
116
6k
Faster Mobile Websites
deanohume
305
30k
Become a Pro
speakerdeck
PRO
26
5.1k
Statistics for Hackers
jakevdp
797
220k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Mobile First: as difficult as doing things right
swwweet
222
9k
Practical Orchestrator
shlominoach
186
10k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
It's Worth the Effort
3n
183
28k
Transcript
git-daily #pyfes @sotarok http://strk.jp/ A tool supports a daily workflow
with remote
ࣗݾհ
sotarok ͦ͏ͨΖ͏ (͚ʔ) Crocos, Inc. PHP Git Perfume capsule Red
Bull (Congratulation on world champion!)
WEB+DB PRESS Vol.65 PHPಛू ୈ̍ষ ॻ͖·ͨ͠ 10/22 ൃച એͰͨ͠ɻ#pyfes ͚ͩͲ...
Git ?
Git ʹΑΔ։ൃ
Git ≠ ศརͳSubversion
GitʹΑΔ։ൃ: - Subversionʹ͓͚Δbranch? - (e.g. trunk, tags ...) - ϒϥϯνͷӡ༻
- ϦϦʔεϑϩʔ
A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/
gitflow ͗ͬͱ;Ζʔ
gitflow?
gitflow: ɹϒϥϯνӡ༻Ϟσϧͷ ɹϕετϓϥΫςΟε ɹͷͨΊͷ ɹGit Command Wrapper
IUUQOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM
ϒϥϯνӡ༻Ϟσϧ master: ϦϦʔε͞Ε͍ͯΔ࠷৽ͷιʔείʔυ develop: ։ൃ༻ϒϥϯν feature/xxx: ಛఆػೳxxx༻ϒϥϯν release/yyy: yyyϦϦʔε༻ϒϥϯν hotfix/zzz:
masterϒϥϯνͷۓٸमਖ਼༻ϒϥϯν
$ git flow feature start hoge $ git checkout -b
feature/hoge
$ git flow feature finish hoge $ git checkout develop
$ git merge --no-ff feature/hoge $ git branch -d fearture/hoge
$ git flow release start 1.0 $ git checkout -b
release/1.0
$ git flow release finish hoge $ git checkout master
$ git merge --no-ff release/1.0 $ git tag -a 1.0 $ git checkout develop $ git merge --no-ff release/1.0 $ git branch -d release/1.0
gitflow: - ϥΠϒϥϦ(ͷΑ͏ͳͷ) ͷ։ൃʹ͍͍ͯΔ - release ࣌ɺtag ͕͚ͭΒΕΔ - remote
ͱͷ࿈ܞ࡞ۀ΄΅ߟྀ͞Ε͍ͯͳ͍ Web ։ൃ Y gitflow = ϕετ?
Web։ൃͱ͔νʔϜ։ൃͱ͔: - ϥΠϒϥϦ(ͷΑ͏ͳͷ)ΑΓසൃ͢ΔϦϦʔε - ؾָʹϒϥϯνΓ͍ͨɺϦϦʔε͍ͨ͠ - remote ͱͷ࿈ܞ͕جຊ - Git
͚ͩͲ - தԝूݖαʔό͕͋ͬͨΓɻ͋ΔΑͶɻ - e.g. GitHub, gitosis
ॏཁͳͷ gitflow ͱ͍͏πʔϧͰͳ͍
A successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/
IUUQOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM
ϒϥϯνӡ༻Ϟσϧ ࣗ༝͗͢ΔGitʹ ϒϥϯνͷʮӡ༻ϧʔϧʯΛͭ͘Γ ݱ࣮తͰ߹ཧతͳ GitΛ༻͍ͨ ։ൃͷϧʔϧΛఆΊΔͷ ͞·͟·ͳελΠϧͷ ։ൃʹԠ༻͕Մೳ
Git͕ࣗ༝͗͢Δྫ1 $ git pull origin develop local ͷ master ϒϥϯν
remote ͷ develop ϒϥϯν͔Β pull
Git͕ࣗ༝͗͢Δྫ2 $ git push origin master develop ϒϥϯν͔Β remote ͷ
master ϒϥϯνͷ push
൵ܶಥવͬͯ͘Δ DUSMS
ؓٳ
git-daily
/ /git-daily
git-daily: - gitflow ͷ branching model Λ࠾༻ - සͷߴ͍ϦϦʔε/ʑͷϦϦʔε -
tag ͱ͔Βͳ͍ - remote ͱͷ࿈ܞ - push/pull - remote branch ࡞/আͷࣗಈԽ - release “sync”
git daily init - master, develop ϒϥϯν໊ͷܾఆ - ඪ४Ͱར༻͢Δ remote
໊Λܾఆ - default: origin - ઃఆ .git/config ʹ gitdaily ηΫγϣϯͰอଘ
git daily release open - ϦϦʔεϒϥϯν: release/yyyymmdd-hhMM - ϒϥϯν໊͔Βࣗಈੜ -
open ޙʹ remote ʹ push
git daily release sync - remote ͱ sync - remote
ʹ open ͞Εͨ release branch ͕͋Γɺࣗ ͷखݩʹແ͍߹ → औಘ͖ͯͯ͠ checkout - खݩʹ͋Δ → push / pull ͢Δ - remote ͷ release branch ͕ফ͑ͯͯखݩʹ͋Δ → खݩͷͭআ
git daily release close - ϦϦʔεϒϥϯνΛ master ʹ merge -
master ϒϥϯνͷ push - ϦϦʔεϒϥϯνΛ develop ʹ merge - ͪΌΜͱ pull ͔ͯ͠Β merge - develop ϒϥϯνͷ push - remote ͷϦϦʔεϒϥϯνআ - local ͔Βআ
demo
Git ͷ Wrapperπʔϧ: - Gitࣗ༝͗͢Δ - ձࣾͰ͏ͳΒͦͷձࣾͰͷ։ൃελΠϧʹ͋Θ ͤͨ Wrapper πʔϧඞཁ
- gitflow Λ͔ͭ͏Α͠ɺgit-dailyΛ͔ͭ͏Α ͠ɺࣗ࡞͢ΔΑ͠ - git-xxxx ͱ͍͏࣮ߦϑΝΠϧΛ $PATH ʹஔ͚ git ͷαϒίϚϯυ࡞Ε·͢
Wrapperπʔϧͷ: - Gitͷʮੜͷૢ࡞ʯ͕Ӆṭ͞ΕΔ - ͕ൃੜͨ͠ͱ͖ͷղܾํ๏ - CONFLICT - ͦ͏ݴͬͯ Git
ͷࣝͪΖΜɺඞཁ - Կ͔͋ͬͨͱ͖ʹͲ͔͜Β࢝ΊΕྑ͍ͷ? - gitflow ͷ߹: - CONFLICT Λղফͨ͠Β·ͨ git flow release finish hoge Λଧͯྑ͍ (ຊ?)
git-daily: - ࣮ release ͔͠ରԠͯ͠ͳ͍ (͒ - hotfix ࣍ͷόʔδϣϯͰ -
feature ͦͷ͏ͪ - ਖ਼ feature ͋Μ·Δ͜ͱͳ͍͔Β gitflow Ͱ͍͍Ͱ͢ - ซ༻ՄೳͰ͢ - ·͋࡞Δ͚Ͳ - test ॻ͍ͯΔ
git-daily: - ͍͍ͨํ͕͍ͨΒͥͻͥͻ - Feedback ͍͚ͨͩΔͱخ͍͠Ͱ͢ - Pull Request
- Git ӡ༻ͷϕετϓϥΫςΟεڞ༗͠·͠ΐ͏
git-daily: PHP Ͱ͢ m9 - ͍͍ͨ͠ͱࢥͬͨΒੋඇ - ͝ΊΜ PHP ͳΜͩ
Python ͩͱ ࢥͬͨ? PHP Ͱͨ͠
None
Question?