バックグラウンド
現在、git rerere を有効にしてマージの競合を解決しています。git status
は、マージされていない 1 つのパスを示しています。ファイルを表示すると、競合を特定するマーカー<<<<<<< HEAD
または>>>>>>> <SHA>
マーカーはありません。これは、rerere がその作業を完了し、過去に行った方法に従って競合を解決したことを示しています。
rerere の決議が正しいことを確認したいと思います。
私が取り組んでいるマージ プロセスは、Linux カーネルに貢献する複数のリモートを含む非常に複雑です。昨日、競合を特定し、メンテナーに通知し、結果の (確実に壊れた) カーネルを破棄することを目的として、いくつかのリモートのテスト マージを行いました。そうしている間、私は次のリモートに移動するためだけにいくつかの不注意な競合解決を行い、git rerere forget <pathspec>
完了後に競合するすべてのパスを呼び出しました。これには、現在扱っているものも含まれます。rerere にこのパスを忘れるように言ったので、なぜこの実行で何かが解決されたのかわかりません。また、結果が正しいかどうかを気にしない昨日行った修正が適用されたのではないかと心配しています。
質問
解決策が適用された後、どの競合が解決されたかを確認する方法はありますか?
まだ完全に自動化されていない長いプロセスであるため、マージの再開は避けたいと思います。あと、昨日リレレにこの道を忘れろと言おうとしたのに、今日も解決策が適用されたので、git rerere forget <pathspec>
最初に失敗した理由を見つけないと同じ立場になってしまうと思います。
関連する質問リベースで行われたgit
rerere の解決を元に戻す <-- ソリューションにはマージの再起動が必要 <-- 議論のみ
git rerere forget <pathspec>
フォローアップ メモ/質問
パス指定なしで
入力しようとgit rerere forget
しましたが、これは推奨されていないことを認識していますが、正しく理解していれば、すべての解決策を忘れてしまうはずです。マージを再実行しましたが、ファイルに解像度が適用されました。また、rerere を完全に無効にして 3 回目のマージを実行したので、競合を確認できました。rerere は、昨日行った中途半端な解決策を実際に適用していました。forget
再利用したくない解決策が正しく破棄されないのはなぜですか?