間違ったチェリーピッキングが原因で、私のローカル Git リポジトリは現在、元のコミットより 5 つ進んでおり、状態が良くありません。これらのコミットをすべて削除して、最初からやり直したいです。
明らかに、作業ディレクトリを削除して再度クローンを作成すれば解決しますが、GitHub からすべてを再度ダウンロードするのはやり過ぎのようで、時間の無駄です。
おそらくそれが必要なのでしょうが、たとえコード自体が正しい状態に戻ったとしても、元のコミットより10git revert
コミット (または 6 コミット) 先に進んでしまうことは避けたいのです。最後の 30 分はなかったことにしたいだけです。
これを実行する簡単なコマンドはありますか? 明らかな使用例のように思えますが、その例が見つかりません。
この質問はコミットに関するものであり、以下の内容ではないことに注意してください。
- 追跡されていないファイル
- ステージングされていない変更
- 段階的だがコミットされていない変更
ベストアンサー1
git reset --hard origin/<branch_name>
余分なコミットが自分だけに見える場合は、元のコミットに戻るだけで済みます。これにより、リポジトリの状態が以前のコミットにリセットされ、すべてのローカルの変更が破棄されます。
を実行すると、全員の履歴を正常に保つ方法で古いコミットを削除して、新しいgit revert
コミットが作成されます。