Gitでローカルコミットを破棄する 質問する

Gitでローカルコミットを破棄する 質問する

間違ったチェリーピッキングが原因で、私のローカル Git リポジトリは現在、元のコミットより 5 つ進んでおり、状態が良くありません。これらのコミットをすべて削除して、最初からやり直したいです。

明らかに、作業ディレクトリを削除して再度クローンを作成すれば解決しますが、GitHub からすべてを再度ダウンロードするのはやり過ぎのようで、時間の無駄です。

おそらくそれが必要なのでしょうが、たとえコード自体が正しい状態に戻ったとしても、元のコミットより10git revertコミット (または 6 コミット) 先に進んでしまうことは避けたいのです。最後の 30 分はなかったことにしたいだけです。

これを実行する簡単なコマンドはありますか? 明らかな使用例のように思えますが、その例が見つかりません。


この質問はコミットに関するものであり、以下の内容ではないことに注意してください。

  • 追跡されていないファイル
  • ステージングされていない変更
  • 段階的だがコミットされていない変更

ベストアンサー1

git reset --hard origin/<branch_name>余分なコミットが自分だけに見える場合は、元のコミットに戻るだけで済みます。これにより、リポジトリの状態が以前のコミットにリセットされ、すべてのローカルの変更が破棄されます。

を実行すると、全員の履歴を正常に保つ方法で古いコミットを削除して、新しいgit revertコミットが作成されます。

おすすめ記事