About resetting commit and rm the file

コミットの取り消し

直前のコミットの取り消し

$ git reset <打ち消したいコミットID>

直前のコミットを打ち消す場合には以下のコマンドを使用

$ git reset --soft HEAD^
  • --softオプション:ワークディレクトリの内容はそのままでコミットだけを取り消したい場合に使用
  • --hardオプション:コミット取り消した上でワークディレクトリの内容も書き換えたい場合に使用
  • HEAD^: 直前のコミットを意味
  • HEAD~{n}n個前のコミットを意味

コミットの打ち消し

$ git revert <コミットのハッシュ値>

作業ツリーを指定したコミット時点の状態にまで戻し、コミットを行う。

コミットの上書き

直前のコミットに上書きする場合は以下のコマンドを使用

$ git commit --amend

リモートリポジトリからのみ特定のファイルを削除

git rm --cached <target file>

ディレクトリを削除する場合は

$ git rm --cached -r <target directory>

reference