悪質なチェリーピッキングのせいで、私のローカルGitリポジトリは現在、オリジンよりも5コミット進んでおり、良い状態ではありません。これらのコミットをすべて削除して、最初からやり直したいのです。
もちろん、作業ディレクトリを削除して再クローンすればいいのですが、GitHubからすべてをダウンロードし直すのはやりすぎのように思えますし、時間も有効に使えません。
git revert`が必要なのかもしれませんが、たとえコード自体が正しい状態に戻ったとしても、原点から10回(あるいは6回)先のコミットをしたくはありません。ただ、この30分をなかったことにしたいのです。
これを実現する簡単なコマンドはありますか?明白な使用例のように思えますが、そのような例は見つかりません。
この質問は特にcommitsについてであり、notであることに注意してください。
過剰なコミットが自分にしか見えない場合は、次のようにすればよいでしょう。
git reset --hard origin/
git revert` を実行すると、すべての人の履歴を正気に保つ方法で、新しいコミットが古いコミットを削除します。
試してみてください。
git reset --hard <the sha1 hash>
を使って、頭の中を好きなところにリセットしてみましょう。gitk を使って、どのコミットにいるのかを確認しましょう。gitk の中でもリセットは可能です。