1

これが私の悲しい話です

今日、別のリポジトリから自分のリポジトリにプルするというミスを犯しました。私はリポジトリ A に取り組んでおり、リポジトリ B の内容を A にプルしました。そのリポジトリからいくつかのファイルが必要だったので、それを行いました。

その後、リポジトリをリモートにプッシュしました。

両方のリポジトリが異なるため、私の問題は私のコードではありません。しかし、問題は歴史です。

現在、一般に公開されている私のリモート リポジトリには、リポジトリ B からのコミットのすべての履歴が、ログ内の私のコミットと混在しています。

これらのコミットを履歴ログから削除するにはどうすればよいですか?

リポジトリを昨日のような状態にリセットする方法はありますか? それにより、履歴のリポジトリ B からのコミットが消えますか?

Merge、Use Re-base、Cherry-pick をリセットしようとしましたが、どちらの場合も履歴は削除されませんでした。

御時間ありがとうございます

4

3 に答える 3

0

git reflog見たいところです。しばらくガベージ コレクションを行っていない限り、git reset --hard HEAD@{x}x をローカル ブランチのすべてをリセットしたい履歴の特定のポイントとして実行できるはずです。

あなたがそれをしたらすぐに、私はgit push --forceあなたの公開レポをあなたが望む場所に戻すために...

これには残念な問題があり、他の誰かがあなたのリモコンから既にプルしている場合、その履歴が台無しになります。

于 2013-08-19T13:10:19.393 に答える