はじめに
タイトルの問題に遭遇しました。
ただ、自分がGit及びGithubについて、理解が足りないということもあり、問題を一般化することができないのですが、起こったことをまとめたいと思います。
起こった問題
masterブランチとfeature_internationalizationブランチを作成して、後者から前者に対してPull Requestを出しました。
PRがオープンになっている状態で、そのPRに含まれるコミットのコミットユーザーを変更する必要があったために、以下の手順でコミットユーザーを変更しました。
以下のコマンドをmasterブランチとfeature_internationalizationブランチで実行
git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='new'; \
GIT_AUTHOR_EMAIL='new@example.com'; \
GIT_COMMITTER_NAME='new'; \
GIT_COMMITTER_EMAIL='new@example.com';" \
HEAD
git push -f
で、masterブランチとfeature_internationalizationブランチにローカルの変更を反映
そして、Githubで、PRのFile change画面を確認したところ以下のスクリーンショットの状態となり、File changeを確認することができなくなりました。また、出していたPRがcloseされました。
原因
この件についてGithubのサポートに問い合わせました。
すると、強制プッシュでリモートのリポジトリの履歴を書き換えたため、作成していたプルリクエストの履歴との関連がなくなってしまったようです。
とりあえずの解決方法
以下のようなURLで、File changeを確認することはできます。
https://github.com/リポジトリ名/compare/比較対象のブランチ...比較するブランチ
ただし
closeされたPRをreopenすることはできず、新しいPRを出しても一部のFile changeのみしか確認できません。
教訓
PR中に、コミット全てを強制的に書き換えるようなことは極力しないようにしよう‼️