NinaLabo

個人ゲーム開発者の技術メモ

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 [マージコミットのコミットハッシュ]

で出来る。