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
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
4
870
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
130
AWS re:Invent 2024 Recap in ZOZO - Serverless で好きなものをしゃべってみた
chongmyungpark
0
1.1k
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
130
いまからでも遅くないコンテナ座学
nomu
0
200
mixi2 の技術スタックを探ってみる (アプリ編)
ichiki1023
0
110
rootful・rootless・privilegedコンテナの違い/rootful_rootless_privileged_container_difference
moz_sec_
0
110
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
360
【令和最新版】ロボットシミュレータ Genesis x ROS 2で始める快適AIロボット開発
hakuturu583
2
1.4k
Qiita埋め込み用スライド
naoki_0531
0
5.5k
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
1.4k
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
410
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9k
The World Runs on Bad Software
bkeepers
PRO
66
11k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Producing Creativity
orderedlist
PRO
343
39k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Tale of Four Properties
chriscoyier
157
23k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Gamification - CAS2011
davidbonilla
80
5.1k
Mobile First: as difficult as doing things right
swwweet
222
9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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?