狠狠撸

狠狠撸Share a Scribd company logo
トピックブランチとは
なかじまゆうじ
はじめに
この資料は、VSSは知っているけどSubversion
やGitなどマージ機能を持っているVCSを知らな
い人向けに、トピックブランチを説明するため
に作成したものです。
なかじまゆうじの私見や思い込み、誤解がかな
り入っています。
トピックブランチの目的
トピックブランチは下記の3つの要件を満たす
ために考えられました。
● すべての変更を記録したい。
● いつでもリリース可能な(中途半端な修正
が入っていない)ブランチが欲しい。
● 「その機能、やっぱりリリースしない」を
アリにしたい。
トピックブランチがある開発
リポジトリ上には前回リリース時点の状態があ
ります。この状態が存在するブランチを
「MAINブランチ(Subversionではtrunk)」と
呼びます。
1 MAINブランチ
トピックブランチがある開発
このソフトウェアに機能を追加することになり
ました。しかし、MAINブランチは中途半端な
状態にはしたくありません。そこで、MAINブ
ランチから分岐した、この新機能のためのブラ
ンチを作成します。
1
2
MAINブランチ
トピックブランチ
トピックブランチのある開発
新機能のためのブランチで実装を行い、変更を
チェックインしました。
1
2 3
MAINブランチ
トピックブランチ
トピックブランチのある開発
新機能のためのブランチで単体テストを行いま
した。しかし、実装した新機能に不具合があっ
たようです。
1
2 3
MAINブランチ
トピックブランチ
トピックブランチのある開発
新機能のためのブランチで不具合の修正を行い、
チェックインしました。これで不具合は無くな
ったようです。
1
2 3 4
MAINブランチ
トピックブランチ
トピックブランチのある開発
MAINブランチにマージを行いました。MAINブ
ランチのコードが結合テストとシステムテスト
に合格すれば、晴れて新機能のリリースです。
1
2 3 4
5 MAINブランチ
トピックブランチ
トピックブランチ利用のメリット
MAINブランチは、いつでもリリースできます。
(トピックブランチをマージしてから、テスト
完了までを除く。)
1
2 3 4
5 MAINブランチ
トピックブランチ
トピックブランチ利用のメリット
トピックブランチの変更箇所はすべてVCSに記
録されています。修正箇所をソースコード上の
コメントで残す必要はありません。VCSの変更
履歴からいつでも見ることができます。
1
2 3 4
5 MAINブランチ
トピックブランチ
トピックブランチ利用のメリット
トピックブランチの修正はすべて記録されてい
ます。区切り区切りでコミットしておけば、
「今の修正は失敗。さっきのところまで戻りた
い。」が簡単です。
1
2 3 4
5 MAINブランチ
トピックブランチ
トピックブランチ利用のメリット
MAINブランチにマージするまでは、新機能の
リリースを中止することができます。
1
2 3 4
5 MAINブランチ
トピックブランチ
トピックブランチ利用のデメリット
新しいことを始めると、必ずミスをします。
物事には「慣れ」が必要です。
FAQ
Q1. ブランチをたくさん作ると、リポジトリサ
イズが大きくなって、遅くなったりディスクが
足りなくなったりしませんか?
A1. ブランチを作っただけでは「ブランチを作
ったよ」という情報だけしか保存されませんの
で、ほとんど大きくなりません。
FAQ
Q2. マージがめんどくさいです。大変です。ミ
スをしそうです。
A2. Subversion以降のVCSを使えば、ほぼ自動
でマージしてくれます。手動でのマージが必要
になるのは、全く同じ行を2人が修正している
場合だけです。
FAQ
Q3. トピックブランチは、どんな単位で作れば
良いのでしょうか。開発者ごと?
A3. いいえ。なるべく小さい方が良いです。バ
グなら1つずつ。新機能でも単独動作可能な最
小単位で作りましょう。
まとめ
トピックブランチを使って、安全な状態を保ち
つつ開発しましょう。

More Related Content

What's hot (20)

PDF
鲍苍颈迟测て?ソーシャルロク?イン机能を実装してみた
昭仁 賀好
?
PDF
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
torisoup
?
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
?
PDF
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
infinite_loop
?
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
?
PDF
君は测补谤苍.濒辞肠办をコミットしているか?
Teppei Sato
?
PPTX
Tensor コアを使った PyTorch の高速化
Yusuke Fujimoto
?
PDF
笔测迟丑辞苍による黒魔术入门
大樹 小倉
?
PDF
鲍苍颈迟测开発で使える设计の话+窜别苍箩别肠迟の绍介
torisoup
?
PDF
型安全性入门
Akinori Abe
?
ODP
骋辞のサーハ?サイト?実装におけるレイヤ设计とレイヤ内実装について考える
pospome
?
PPTX
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
NTT DATA Technology & Innovation
?
PPTX
产补肠办濒辞驳蝉でも颁滨/颁顿する梦を见る
Takeru Maehara
?
PDF
マルチテナントのアプリケーション実装?実践编?
Yoshiki Nakagawa
?
PDF
鲍苍颈迟测のクラッシュを叠补肠办迟谤补肠别て?テ?ハ?ック?しよう!
Unity Technologies Japan K.K.
?
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
?
PDF
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
Masahito Zembutsu
?
PDF
骋辞による奥别产アプリ开発のキホン
Akihiko Horiuchi
?
PPTX
搁笔骋におけるイヘ?ント駆动型の设计と実装
Koji Morikawa
?
PDF
鲍苍颈迟测でオニオンアーキテクチャ
torisoup
?
鲍苍颈迟测て?ソーシャルロク?イン机能を実装してみた
昭仁 賀好
?
惭补驳颈肠翱苍颈辞苍~颁#でゲームサーバを开発しよう~
torisoup
?
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
?
大规模ソーシャルゲームを支える技术~笔贬笔+惭测厂蚕尝を使った高负荷対策~
infinite_loop
?
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
?
君は测补谤苍.濒辞肠办をコミットしているか?
Teppei Sato
?
Tensor コアを使った PyTorch の高速化
Yusuke Fujimoto
?
笔测迟丑辞苍による黒魔术入门
大樹 小倉
?
鲍苍颈迟测开発で使える设计の话+窜别苍箩别肠迟の绍介
torisoup
?
型安全性入门
Akinori Abe
?
骋辞のサーハ?サイト?実装におけるレイヤ设计とレイヤ内実装について考える
pospome
?
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
NTT DATA Technology & Innovation
?
产补肠办濒辞驳蝉でも颁滨/颁顿する梦を见る
Takeru Maehara
?
マルチテナントのアプリケーション実装?実践编?
Yoshiki Nakagawa
?
鲍苍颈迟测のクラッシュを叠补肠办迟谤补肠别て?テ?ハ?ック?しよう!
Unity Technologies Japan K.K.
?
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
Masahito Zembutsu
?
骋辞による奥别产アプリ开発のキホン
Akihiko Horiuchi
?
搁笔骋におけるイヘ?ント駆动型の设计と実装
Koji Morikawa
?
鲍苍颈迟测でオニオンアーキテクチャ
torisoup
?

Similar to トヒ?ックフ?ランチとは (6)

PDF
ブランチ戦略
Satoshi Tabeta
?
PDF
はじめての搁别濒别补蝉别ブランチ运用(蝉惫苍编)
将 高野
?
PDF
怖くないフ?ランチ开発外部公开用
CROOZ, inc.
?
PPTX
ブランチについて
Naoyuki Sano
?
KEY
#scmbc in hokkaido_session
kyon mm
?
PPTX
バージョン管理の断捨离
Kazushi Kamegawa
?
ブランチ戦略
Satoshi Tabeta
?
はじめての搁别濒别补蝉别ブランチ运用(蝉惫苍编)
将 高野
?
怖くないフ?ランチ开発外部公开用
CROOZ, inc.
?
ブランチについて
Naoyuki Sano
?
#scmbc in hokkaido_session
kyon mm
?
バージョン管理の断捨离
Kazushi Kamegawa
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
色について.pptx .
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
Ad

トヒ?ックフ?ランチとは