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

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

ただいまの
回答率

87.61%

作業中のブランチで、他ブランチの内容を取り込みたい

解決済

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 3,399

score 15

Webサービスのフロントを、GitLabを使い2名体制で作成しています。(HTML/CSSのみです)

制作するページ毎にブランチをチェックアウトするルールにしており、全てのブランチはMasterからチェックアウトします。
制作完了したブランチはもう1名の担当者にMerge Requestを出し、レビューを持ってMasterへマージされます。

今回お窺いしたいのは、Merge Request待ちの feature/A で作成したスタイルを新しくチェックアウトした feature/B で使用したい場合、どのようにするのがベストプラクティスなのかということです。
素直に feature/A を feature/B へマージしてしまってもよいのでしょうか。

ご教授頂けますと幸いです。
宜しくお願い致します。

イメージ説明

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

0

こんにちは。

まずリポジトリの運用方法がメンバ内でちゃんと共有されている前提ですが、
そのfeature/Aが将来的にmasterに入ることが有力であるなら(rejectされて一切なかったことになる可能性が低いのであれば)、feature/Bに直接mergeするので良いと思います。もしもfeature/Aがrejectされた場合、その変更を取り込んだfeature/Bもレビューを通すことができない、となってしまうことは避けたいです。

他の運用例として、もしも、feature/Afeature/Bが密結合な改修であるなら、feature/Afeature/Bを適宜マージしつつ作成されるfeature/Xブランチなどを新たに起こし、それをmasterにMergeRequestする、というやり方も考えられます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/07 14:57

    ご回答ありがとうございます。
    `feature/A` はrejectされる可能性はほぼ無いので、`feature/B` にマージしようと思います。
    ただその場合 `feature/A` をマージしたというコミットが `feature/B` に残ることになると思いますが、将来 `feature/B` を Merge Request する際に何か不都合はありますでしょうか?

    運用方法によるとは思いますが、そこまで深く考えなくても良いのでしょうか。。

    キャンセル

  • 2019/03/07 15:42

    問題ないです。そのようなツリー構造はGitを活用していれば頻出します。

    たまに起きる状況として、`feature/A`を「まだマージしていない`master`」に対して`feature/B`のマージリクエストを出したら、`feature/B`のリクエスト内容に`feature/A`の変更内容が含まれることになりますが、それはまあ当たり前ですね。

    キャンセル

  • 2019/03/07 15:45

    重ねてのご回答ありがとうございます。

    >そのようなツリー構造はGitを活用していれば頻出します。
    よくあることと分かり、安心致しました。
    今後も活用し、知見を貯めていこうと思います。
    ありがとうございました。

    キャンセル

-1

こんにちは。

feature/A からさらにブランチを切って作業するのはどうでしょう。

あとは仰る通り feature/A を feature/B にマージするか
欲しいコミットだけをチェリーピックするかですが、
場合によりけりでベストプラクティスはない気がします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/07 15:47

    ご回答ありがとうございます。

    「全てのブランチはMasterから切ること」をルールとしているため、得られる結果は同じだとしても、今回は `feature/A` を `feature/B` にマージする方法で進めようと思います。

    キャンセル

-2

feature/A を feature/B に git merge でマージして良いです。
master からもマージするのをお忘れなく。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/07 15:46

    ご回答ありがとうございます。
    `feature/A` を `feature/B` にマージする方法で進めます。

    キャンセル

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

  • ただいまの回答率 87.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る