【Git】add・commit・push取り消しコマンドまとめ

git add取り消し方法

git init直後のgit addの取り消し

全てのファイルを取り消したい場合

git rm --cached -r .

特定のファイルを取り消す場合

git rm --cached -r file_name

2回目以降のgit addの取り消し

全てのファイルを取り消したい場合

git reset HEAD

特定のファイルを取り消す場合

git reset HEAD file_name

git commit取り消し方法

直前のcommitをなかったことにする場合

git reset --soft HEAD^

commitを上書きする場合

コミットメッセージを変更したい場合などに使う

git commit --amend

git push取り消し方法

git reset(履歴を残さず修正)

commit,add,ソースの変更も一緒に取り消す場合

$ git reset --hard HEAD^

ローカルでの変更等は残して、git pushだけ取り消したいという場合

$ git reset --soft HEAD^
注意点⚠️

git resetの後に、修正した内容をpushすると、以前のcommitとコンフリクトしてエラーとなり、pushすることができません。その時は「-f」オプションをつけて強制的にpushする必要があります。

$ git push -f origin HEAD

また、過去の履歴を書き換えるので、チーム開発時にコンフリクトが発生する可能性がある。

git revert (履歴を残して修正)

変更を取り消すのではなく、履歴を残すため変更を打ち消す場合

git resetと違い、過去の履歴を書き換えることがないので安全

$ git revert HEAD
注意点⚠️

git revertは安全な取り消し方法だが、不要な履歴が増えるため、履歴が見にくくなるのでチーム開発時は注意が必要

タイトルとURLをコピーしました