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

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

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

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

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Q&A

解決済

3回答

2668閲覧

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

ukotsu

総合スコア15

Git

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

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

0グッド

1クリップ

投稿2019/03/07 04:03

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

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

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

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

イメージ説明

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

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

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

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

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

guest

回答3

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 04:59

tamoto

総合スコア4105

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

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

ukotsu

2019/03/07 05:57

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

2019/03/07 06:42

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

2019/03/07 06:45

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

0

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

投稿2019/03/07 04:59

mather

総合スコア6753

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

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

ukotsu

2019/03/07 06:46

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

0

こんにちは。

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

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

投稿2019/03/07 04:58

firedfly

総合スコア1131

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

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

ukotsu

2019/03/07 06:47

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問