Every Qiita #25
のんびり独学初学者投稿 25日目
今回は・・・
gitの変更の取り消し(ワークツリー・ステージ・コミット毎)を再度整理した時の備忘録です。
各階層毎の取り消し一覧
####ワークツリーの変更を取り消す(git addする前)
コマンド:git checkout -- <ディレクトリ名 または ファイル名> または <.(全て)>
内容:ワークツリーの変更を取り消す ※直前のステージ内容をワークツリーに反映する
備考:ステージに上がっていない(直前でコミットまで完了している)場合は取り消しできない。
####ステージの変更を取り消す(git commitする前)
コマンド:git reset HEAD <ディレクトリ名 または ファイル名> または <.(全て)>
内容:ステージの変更を取り消す ※直前のコミット内容をステージに反映する
備考:ワークツリーには反映されない
####コミットの変更を取り消す(git pushする前)
コマンド:git commit -- amend
内容:コミットの内容を取り消す(上書きする) ※直前のコミット内容を現在のコミット内容で上書きする
備考:取り消すのではなく、新たにコミットする内容で上書きする
※pushした後の変更はしない(リモートリポジトリの内容とローカルリポジトリのコミット状態が変わるため)
####git pushした内容を取り消す
pushした後に内容を取り消したい場合はローカルリポジトリで変更し、再度pushする。
push自体を取り消すのは履歴が変わってしまい、コンフリクトの可能性が出るためオススメしない
###参考資料(有料)
https://www.udemy.com/course/unscared_git/