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.2k
ソフトウェア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
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.2k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
210
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
6
760
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
分解して理解する Aspire
nenonaninu
1
280
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
710
現場で役立つAPIデザイン
nagix
33
12k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
表現を育てる
kiyou77
1
210
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
Featured
See All Featured
Navigating Team Friction
lara
183
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
4 Signs Your Business is Dying
shpigford
182
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Being A Developer After 40
akosma
89
590k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Visualization
eitanlees
146
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
How STYLIGHT went responsive
nonsquared
98
5.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
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?