r-yanyoのブログ

アイコン画像

gitで便利なコマンドのメモ

  • git

最近個人的にgitとかGitHubを使うことが多くなったのでメモ。

直前の「git add」の取り消し

git reset HEAD

使用方法: git addを間違えて打ってしまった時に使う

git reset "コミットのハッシュ値"

でそのコミットまで戻ることができ、HEADは直前のコミットを意味するので、直前にステージングしたものを戻せる。

ファイルを特定のコミットの状態まで戻す

git log #戻りたいコミットのハッシュ値の確認
git reset --hard "コミットのハッシュ値"

使用方法: 作業していた内容が大幅に間違っていた(バグった)時に前の状態に戻したい時に使う

git reset に --hardオプションを付けると、ファイルの内容とステージング状態の遡った分は消える。--softだと指定したコミットの状態に戻るが、遡った分は消えない。

[参考] git resetを使いこなす

特定のコミットの変更点を見る

git diff "コミットのハッシュ値"^ "コミットのハッシュ値"

"コミットのハッシュ値"^ は1個前のコミットを意味する。^^は2個前。

2個以上前のコミットメッセージを変更

git rebase -i HEAD~3

# 該当コミットのpickをeditに変更

git commit --amend
git rebase —continue

使用方法: gitアカウントを使い分けている時に、違うアカウントでコミットしまくってしまった。コミットのAuthorを書き換えたい時に使う。

1個前のコミットメッセージはgit commit --amendで変更可能だが、それより前のコミットメッセージを変更するにはこれを使う。

特定のファイルのコミットログを見る

git log “ファイルパス”

git log -p “ファイルパス” pを付けるとファイルの変更箇所が見れる。

色々操作をミスったら戻す

git reflog
git reset —hard HEAD@{reflogで見た番号}

使用方法: 前述のgit reset --hardで前の状態に戻したが、やっぱり戻すのを辞めたくなった時に使う。

git reflogでgit resetなどの操作履歴を表示することが出来る。git resetでその操作履歴を無かったことにする。