git の 取り消しコマンドまとめ
いつも忘れてしまうので、git の取り消し系の操作をまとめました。
コマンドの書き方はいくつかあるかと思いますが、たくさんあっても覚えられないので、よく使っているものだけを記述しています。
《CASE1》git add の 取り消し
指定したファイルのaddを取り消す
git reset HEAD [ファイルパス]
《CASE2》git commit の 取り消し
直前のコミットを取り消す
git reset --soft HEAD^
《CASE3》git push の 取り消し
git reset --soft HEAD^
でコミットを取り消して
git push -f origin [ブランチ名]
で強制的にブランチを上書き
*個人用のブランチならいいが、共有ブランチではやらないほうが無難。
《CASE4》マージ の 取り消し
github 上から、マージされたプルリクエストの「Revert」ボタンを押す
*共有ブランチには直接pushせずに、プルリクエストを送る前提。
《番外編1》新規ファイルの削除
作業ディレクトリから追跡対象外のファイル(Untracked files)をまとめて削除
git add 前の新規ファイルを一括で削除できるので、追加した覚えのないゴミファイルを削除するには便利だが、うっかり大切なファイルまで消さないように注意
git clean -df
《番外編2》チェリーピック
指定したコミットを別のブランチに持ってくるには、コミットを取り込みたいブランチに移動して
git cherry-pick [コミットハッシュ]
で出来る。
マージに含まれる複数のコミットを全て持ってくる場合には、
git cherry-pick -m 1 [マージコミットのコミットハッシュ]
で出来る。