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のブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …

no image

gitのfetchに関して

gitでリモートの変更を取り込む場合、大きく分けるとfetchとpullがあります。 両者の違いですが、 fetch=一度、変更を取り込んで、ローカルの変更と相違点を確認できます。確認後mergeを行 …

no image

gulpに関して

gulpに関しての復習と色々と間違っていたところもあるのでまとめ。 ちなみに以前書いた記事は下記 gulpインストールとタスクの実行 Contents1 インストール2 タスクの実行3 npxコマンド …

no image

githubのremoteリポジトリへの登録

githubにgit pushしようとしたときにエラーがでたんでちょっとメモ。 githubに登録する場合、設定が適切でないと、

など …

no image

GitLabのCI/CD

GitLabをGitHubがわりに使っているプロジェクトがあったのですが色々調べているうちにCI/CD的な使い方ができるといことで調査することに。 jenkinsでやったようなCI/CDができます。お …

アーカイブ