最近、他の方のPRを引き継いで修正したりするのですが、その際pushするとmasterに反映されているはずのcommitが差分として表示され、レビューに支障が出ており困っています。
ブランチの状態としては、以下のような感じです。
・PRが上がる(branch:hoge)
・数日経つ(この間に、masterにいくつかmergeされる)
・ローカル環境で、最新のmasterの状態のものからgit branch -b hogeする
・PRに上がっているhogeブランチをpullしてくる
・git diffすると自分が修正したものだけが差分として出てくる
・git pushすると何故かPRにmasterにmergeされているはずの差分が追加で出てくる(この際差分として出てくるのはPRが出てから後にmasterにmergeされたcommitです)
ちなみに、PRを作成し直すとこの現象は解消されます。
また、過去以下のような手順で同様の問題を解決したのですが、今回はこの手順では解決できませんでした(pushするとEverything up-to-dateといわれる)。
# masterの状態がPRが上がる前より古い状態でbranchを切る $ git branch -b fuga # PRに上がっているブランチをローカルに持ってくる $ git pull origin fuga # masterの状態を最新にする $ git checkout master $ git fetch $ git pull origin master # PRに上がっているブランチに、最新のmasterの状態をmergeする $ git checkout fuga $ git merge master $ git push origin fuga
何故このような事象が発生するのでしょうか。
PRを作り直せば一応は解決するのですが、できればPRを作り直さず、masterに反映されているはずのcommitをこのPRから除外したいです。
どなたかご存知でしたらご教示いただけますと幸いです。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/27 16:04 編集