質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

2回答

7530閲覧

SourceTree(Git)のfeatureブランチにについて

strokes_1954

総合スコア30

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2017/06/16 04:04

こんにちは。
featureブランチについて質問なのですが、
developとマージした後に消すメリットってなんですか?

私個人の感想としては随時一つのfeatureブランチでチーム作業を行い、developをマージしてあげて
差文をdevelopに取り込ませればfeatureブランチの乱立を防げると考えています。

以上、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

「featureブランチの乱立」っていう表現がまずおかしいです。
featureブランチはその名の通り「機能」ブランチであり、作業中の機能の数だけ同時にブランチが存在していて良いものです。ちょっと違いますが、チームメンバー一人ひとりが持つ作業中のリモートブランチとも言い換えることができます。
そして、質問者さんが考えているfeatureブランチの概念は、本来developブランチの役割そのものです。
チームメンバーがそれぞれ作業していたfeatureブランチ(基本的に一人の作業履歴)をdevelopブランチにマージすることで、初めてdevelopブランチがチームのブランチ(チームメンバー全員の作業の集積)となるのです。

マージした後に消すというのは、「機能」の作成が完了し、チームの共有ブランチ(develop)に取り込まれた時点でそのブランチは役目を終えるからです。次の機能を作成する場合は、その機能のためのfeatureブランチが新たにdevelopブランチから分岐します。

投稿2017/06/16 04:32

tamoto

総合スコア4103

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strokes_1954

2017/06/16 04:43

分かり易い解説ありがとうございます。 誰かのローカルでのfeatureブランチでの開発が遅れてしまった場合には 他のメンバーのコミットが大量に保留されていると思うのですが、 それはどういった対応をされますか? よろしくお願いします。
tamoto

2017/06/16 04:48

どういうことでしょう? featureブランチは基本的に「作業者毎に独立して存在する」ので、他メンバーの作成中の「機能」そのものに依存した機能を作っている場合を除けば、並列で作業が行われているはずです。 たとえ誰かの開発が遅れていても、他のメンバーは他のメンバーで作成完了した機能をどんどんdevelopにマージしていけばいいだけです。
strokes_1954

2017/06/16 05:16

申し訳ございません。 あともう一点。 チームで開発をするにあたってローカルのdevelopに遅れが生じると考えるのですが、 リモートにプッシュする場合はrebaseしてからプッシュするという認識でよろしいですか?
tamoto

2017/06/16 05:23

githubなどを使っているなら、作業完了したfeatureブランチをpushして、pull requestを使ってレビューを通しdevelopへマージする運用が一般的な気がします。 ローカルでマージするなら、マージ担当者(代表)がリモートリポジトリをpullしてdevelopを最新に追従してから、そのdevelopに指定のfeatureブランチをマージしてpushという流れになると思います。
guest

0

逆に聞きますが、個人個人が使ったfeatureブランチをプッシュしているのでしょうか?

投稿2017/06/16 04:08

yoorwm

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strokes_1954

2017/06/16 04:16

無知で申し訳ございませんが、 1.featureブランチをチームで作業 2.タスクの終了時に代表一人がdevelopにマージ 3.代表者がdevelopをプッシュ 4.次の作業 といった流れを考えています。 といった流れで
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問