私は小さなプロジェクトで友人と協力しており、ソースバージョン管理としてGitを使用しています。これが問題のシナリオです。
- 私はバージョンAから作業を開始し、バージョンBへのローカルコミットをいくつか行いました。
- 私の友人もAから始めて、バージョンCを中央リポジトリにプッシュしました。
- 'git pull --rebase'を実行し、バージョンBをプッシュしました。したがって、リモートリポジトリはA->C->Bのようでした。
- その間、私の友人はまだ彼がプッシュしたバージョンCに取り組んでいました。彼がバージョンDをプッシュしようとしたとき、彼は失敗したマージを実行しました(彼が正確にどのように実行したかはわかりません)。その結果、コミットDにはC-> Dからの変更が含まれていましたが、A->Bからの変更は破棄されました。したがって、リモートリポジトリは現時点ではA-> C-> B-> Dのように見えますが、バージョンDはC->Bからすべての変更を削除しました
この失敗したマージを修正する最も簡単な方法は何でしょうか。