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

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

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

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

1145閲覧

レビュー待ちのプルリクを内容はそのままで他のブランチにも送りたい

shoichiro

総合スコア1

Git

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2020/12/10 11:09

前提・実現したいこと

developからAというブランチを切り、Aからdevelopに対してPRを送りましたが、
developへ出したPRの内容はそのままでAから今度はmasterへもPRを出したいです。

発生している問題・エラーメッセージ

developにマージした後に、masterへマージしろと思われるかもしれないのですが、 諸事情によりdevelopへ出した内容をそのままmasterへも出したいいですmm

該当のソースコード

試したこと

コミットを1つずつ戻してmasterへそれぞれpushしていくしかないのでしょうか。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

単にAからmasterに対してPRを出せばいいんじゃないですかね。別に一つのbranchから一つしかPR切れないわけじゃないので

手元のローカルリポジトリは、プルリクを送ったためコミットたちが取り込まれている

何を言いたいのかわからん。branch A, develop, masterがあって、Aからdevelopに対してPR投げている状態なんですよね?別にbranch Aが消滅したりしてないですよね?そしたら単にAからmasterに対してPRを投げるだけだと思うんです。なんか難しく考えすぎていませんか?

右上のNew pull requestから
イメージ説明
baseはmasterにしてcomapreをAにすればPRつくれますよね?
イメージ説明

投稿2020/12/10 11:16

編集2020/12/10 12:58
yumetodo

総合スコア5852

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

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

shoichiro

2020/12/10 11:34

理解が及ばず恐縮なのですが、 ・手元のローカルリポジトリは、プルリクを送ったためコミットたちが取り込まれている ・ここからmasterに同じコミットたちをプルリクとしてあげる方法が分からない→コミットたちを戻していってmasterにプルリクとしてあげるということでしょうか?mm
shoichiro

2020/12/10 13:28

なるほどありがとうございます!!!!!! これがまさに聞きたいことでした! 恥ずかしながら右上のNew pull requestというものがあることを知りませんでした、、感謝ですmm
guest

0

質問文だけ読めば、
そのブランチから新たにmasterブランチにプルリクを出し、
説明文にdevelopブランチへ出したプルリクのリンクでも貼り付けておけば良くね?

……という話です。

ですが、それはどういう運用なのでしょうか?
それが通用するならばdevelopブランチの存在意味がありません。
何やってんだ?という話になってしまいます。


Git FlowというGitの運用ルールでは、
基本的にはdevelopブランチに修正内容を集めます。
developブランチを元にfeatureブランチを作成してdevelopブランチに対してプルリクを作成する。
そして定期的にmasterブランチへリリースという形で
developブランチの更新内容はmasterに取り込まれる運用となります。

しかし本番環境で重篤な不具合が発生!
developブランチへマージしている暇がない緊急事態が発生するケースが考えられます。

それを見越して、
Git Flowではhotfixという例外が存在します。
masterブランチを基準として作業用ブランチを作成しmasterブランチにプルリクを送る
この流れでmasterブランチを強制的に進め、後からdevelopブランチに作用させます。

まぁ、実際にやってる事はそういう名前のブランチを作って、
プルリク飛ばしているだけで、特殊な事は何一つやってませんけどね。


今回の質問はhotfixに該当する
masterブランチをすぐに更新しなければならないから、
developブランチとmasterブランチを同時に更新しなくちゃ!という発想に至ったのでしょう。

ならば一度Git Flowをチームメンバーと共に調べてみて、
ブランチの運用ルールを見直してみてはいかがでしょうか?

投稿2020/12/10 11:35

編集2020/12/10 11:47
miyabi-sun

総合スコア21203

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

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

shoichiro

2020/12/10 11:55

そうですねご指摘の通り運用ルールを見直してみます >そのブランチから新たにmasterブランチにプルリクを出す この部分の理解が及ばないのですが、手元のローカルブランチは既に変更を取り込み済なので、送ったコミットたちを戻して(?)再度push先を変えてpushするということでしょうか?mm
miyabi-sun

2020/12/10 12:07 編集

まぁ、developを今すぐmasterにマージしても良いならば develop->masterへのプルリクを作るなり、 サーバ上に残っている作業ブランチからmasterブランチに向けてプルリク作るなりすれば良いと思います。 問題となるのは、 developブランチをせっせと育てている最中でmasterがdevelopを取り込めないケースです。 緊急修正をdevelopから作っていた場合、それまでの修正が全て乗るのでせっかくdevelopで止めている更新内容が全てmasterに混ざってしまいます。 この場合はcherry-pick等の機能で無理やりmasterに先取りさせるか、 masterから改めて更新用ブランチを作成し、同じ修正を施して再度masterに返す必要があります。 この場合はdevelopでコンフリクトが発生するでしょうから面倒事になるかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問