現在、プルリクエストに3つの変更されたファイル(新しいファイルはありません)があります。
プルリクエストからこれらのファイルの1つを削除して、プルリクエストに2つのファイルへの変更のみが含まれ、3番目のファイルが元の変更されていない状態のままになるようにします。
私はいくつかのことを試しました(ファイルの元のバージョンをチェックアウトするなど)が、それでもPRで変更されたファイルとして表示されます。
これに対する解決策はありますか?
現在、プルリクエストに3つの変更されたファイル(新しいファイルはありません)があります。
プルリクエストからこれらのファイルの1つを削除して、プルリクエストに2つのファイルへの変更のみが含まれ、3番目のファイルが元の変更されていない状態のままになるようにします。
私はいくつかのことを試しました(ファイルの元のバージョンをチェックアウトするなど)が、それでもPRで変更されたファイルとして表示されます。
これに対する解決策はありますか?
回答:
プルリクエストを作成したブランチに切り替えます。
$ git checkout pull-request-branch
変更されたファイルを別のブランチのファイルで上書きし、それがマスターだと考えてみましょう:
git checkout origin/master -- src/main/java/HelloWorld.java
コミットしてリモートにプッシュします。
git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch
コミットを修正してから、PRでブランチを更新する強制プッシュを実行する必要があります。
これを行うことをお勧めします:
git reset --soft HEAD^
またはそれが別のコミットの場合は、「HEAD ^」をコミットIDに置き換えます)git commit -a -c ORIG_HEAD
ブランチが更新されたので、プルリクエストに変更が含まれます。
ここに、Gitsのドキュメントへのリンクがあります。ここでは、コミットの取り消しとやり直しの下にかなり良い例があります。
プルリクエストとは、あるブランチを別のブランチにマージするリクエストです。
プルリクエストには何も「含まれていません」。これは「このブランチをそのブランチにマージしてください」というマーカーにすぎません。
PRがWeb UIに表示する一連の変更は、ターゲットブランチと機能ブランチ間の変更です。プルリクエストを変更するには、おそらく機能ブランチへの強制プッシュを使用して、機能ブランチを変更する必要があります。
あなたの場合、あなたはおそらくあなたのコミットを修正したいと思うでしょう。あなたの正確な状況についてはわかりませんが、インタラクティブなリベースのいくつかの組み合わせでadd -p
あなたを整理する必要があります。