Web開発では欠かせないツールとなっているGit。
通常の使い方はブランチを切って、そこからリモートにプッシュする、というのが一連の流れとなっています。
それ以外の操作以外の場合において、使うことのあるコマンドを整理しようと思います。
※今後も使っていくGitコマンドが増えていくと思うので、随時更新していきます。
●過去の操作を見たい
git log
●前のコミット に戻りたい(gitに履歴を残す)
git revert
過去のコミットを打ち消すコミット
過去のコミットが逆向きに(プラスだったものはマイナスに、マイナスだったものはプラスに)なり、新たにコミットされる
revertをrevertすることもできる
例:直前のコミットを打ち消す(同じ意味)
git revert
git revert HEAD
git revert コミットのハッシュ値
●前のコミット に戻りたい(gitに履歴を残さない)
git reset
オプションは3種類あり、元に戻す影響範囲が違ってくる
–soft HEADの位置まで戻すのみ。作業ディレクトリはresetをかける前のまま
–mixed softの効果+ステージングの所まで戻す ←あまり使い所が多くない
–hard mixedの効果+作業ディレクトリを戻す。つまり、完全に元に戻す
直前のコミット内容を修正する
git reset --soft HEAD^
※ ^(ハット) 1つ前という意味になります
直前のコミットまで丸ごと戻す
git reset --hard HEAD^
●過去の操作を見たい
git reflog
番号が{}の中に振り分けられており、resetをして戻る際に番号を指定して戻る事ができるため、先に見る場合がある
例:reflogで確認した10番目の履歴の箇所までsoftで戻したい
git reset --soft HEAD@{10}
●コミット内容を上書きしたい
git commit –amend
コミットを増やさずコミットに上書きができる
例:メッセージを修正したい
git commit --amend -m "ここに修正させたいメッセージ"
メッセージを変更したい時や、(こっそり)コミット内容を上書きしたい場合に使える。
後者で、リモートでもプッシュしてしまった場合は、反映させるために(強力な)force pushが必要になってくるので、他人と共同で使っているブランチの場合は、行っていいか要注意となる
コメント