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.4k
ソフトウェア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
6.1k
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
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
160
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
0
160
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
150
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
0
110
フィンテック養成勉強会#54
finengine
0
130
Observability в PHP без боли. Олег Мифле, тимлид Altenar
lamodatech
0
310
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
120
rubygem開発で鍛える設計力
joker1007
1
150
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
150
Agentic DevOps時代の生存戦略
kkamegawa
1
1.2k
初めてのAzure FunctionsをClaude Codeで作ってみた / My first Azure Functions using Claude Code
hideakiaoyagi
1
200
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Thoughts on Productivity
jonyablonski
69
4.7k
Optimizing for Happiness
mojombo
379
70k
GraphQLとの向き合い方2022年版
quramy
46
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Documentation Writing (for coders)
carmenintech
71
4.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Agile that works and the tools we love
rasmusluckow
329
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
What's in a price? How to price your products and services
michaelherold
246
12k
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?