1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git】最新commit内容から修正をした内容のリセットについて

Posted at

本記事の内容

最新commit内容から修正をした内容をリセットして
修正をする前の状態に戻りたいときのコマンドについて

どのようなケースで使うか

図のような状況とします。

  • push対象のbranch(main)から新規ブランチ(new_branch)を作成
  • そのnew_branchの中で1の内容を修正や新規ファイルを追加をして2の内容にする
  • 修正や新規ファイルを追加するにつれ、エラーなどにより1の内容に戻したくなった
    スクリーンショット 2024-11-04 12.28.12.png

追跡中ファイルの更新内容をリセットする & 追跡されていないファイルの変更内容をリセットする

下記の手順で1の状態に戻れます。

追跡中のファイルの更新内容のリセット

追跡中のファイルの更新内容をリセットします

git checkout -- .

ファイル単位の指定もできます
例えばconfig/routes.rbのみ更新内容をリセットしたい場合

(例) git checkout -- config/routes.rb

追跡されていないファイルの変更内容をリセットする

新規追加したファイルはステージングしていない場合はuntrackedとして扱われているのでgit cleanで変更内容を削除します

git clean -df

※ mainブランチに戻ればいいのではないか?と思ったのですが
untracked(追跡されていない)のファイルの内容がmainブランチに移った時にも反映されたまま のため、1の状態に戻りきりませんでした

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?