質問: 最近、他の方の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から除外したいです。 どなたかご存知でしたらご教示いただけますと幸いです。 よろしくお願いいたします。
回答: 自己解決しました(解決と言っていいのかわからないですが)。 masterにそのあと更にcommitされた上で ``` $ git checkout master $ git fetch $ git pull origin master $ git checkout <作業ブランチ> $ git merge master $ git push origin <作業ブランチ> ``` を実行したらPRからmasterに反映されているはずのcommitが差分としてでなくなりました。 ただ、引き続きpull requestでmasterに反映されているはずのcommitが差分として表示されてしまう原因がさっぱりわからないので、どなたかご存知の方がいらっしゃいましたら教えて頂ければと思います。