すべてのユーザーに対して単一のブランチを使用します。ユーザーがプッシュしようとするたびに、最初に他の変更をプルする必要があります。これにより、ほとんどのシナリオで正常に機能する git automerge が生成されます。
昨日、ユーザーの 1 人が上記の操作を行った結果、競合が発生し、自動マージに失敗しました。ここで、その人は競合を解決し、このマージの一部としてすべてのファイルをコミットする代わりに、競合しているファイルのみをコミットしてプッシュしました (それらを解決した後)。
これにより、彼がコミットしていないすべてのファイルがリモートリポジトリで古いものとして表示されるという状況が発生しました。
変更はまだ彼のマシンに残っており、ファイル履歴に移動してもプルされていない場合は、git でも確認できます。
これから抜け出す方法はありますか?
ところで、 --rebase または --ff-only オプションは使用しません。