skillup

技術ブログ

Git

ファイルを戻したい時のGitコマンド(主にgit resetの用法)

投稿日:2020年10月18日 更新日:

使用ケースでGitコマンドを復習してみようかなと思いました。

主にgit resetの用法整理ですが・・・

ローカルを間違ってaddしてしまい、インデックスへの変更を取り除きたい

git reset ファイル名(ファイル名未指定だと全ファイル)

*正確には git reset --mixed のようです。省略するとmixedになります。

まだコミット内容がある、あるいは間違ってcommitしてしまい、commitだけ取り消したい、インデックスの内容や作業ファイル自体はいじりたくない場合

git reset --soft HEAD^

自分の場合、再修正して

git add && git commit --amend

とやることが多かったですね。(どっちにしろcommitするので)

以前の状態にファイル全部を直したい、過去の特定の日時でシステム全体がどうだったかを見たい時

git reset --hard ハッシュ値

特定のファイルを特定のコミットに戻したい

git checkout ハッシュ値 ファイル

間違って変更してしまったファイル(コミットしていない)の取り消し

git checkout HEAD ファイル

間違ってマージしてしまったものを元に戻したい時

git reset merge

↑は実質的に git reset --hard HEAD^ と同じ。

git reset (–hard/–soft)]ワーキングツリー、インデックス、HEADを使いこなす方法

git-resetは結局何を戻すのか

-Git

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

gitの作業ディレクトリ・インデックス・HEADに関して

gitを使い始めてしばらくたちますが、まだ明確なイメージがつかめていないです(汗) みようみまねでやっていて、ポイント、ポイントで困ったことは検索してなんとか対応してきましたが、体系的な理解ができてい …

no image

git tag

あまり普段から使ってこなかったgit tagについて。 使う用途ですが主にリリースポイントについて印として使います。 通常のタグの付与

no image

git別リポジトリからの差分取りこみ、リモートの別ブランチ反映、強引なstash

gitについて最近覚えたことなど Contents1 別リポジトリからの差分取り込み2 別ブランチからファイルのみ取り込み3 追跡ブランチをローカルに取り込みたいとき4 強引なgit stash 別リ …

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

no image

git stash ~一時的な内容の保存~

gitでコミットせずに、作業を保存したいときがあるとおもいます。 例えばあるブランチで作業していて、実は今の作業内容が別のブランチでの反映が必要になったときなどです。 gitはブランチの切り替え(gi …

アーカイブ