gitでcommitやpull、pushのような基本的な操作はマスターした初心者向けのコマンド一覧です。
ローカルの変更を取り消す
git checkout .
新規追加したファイルは取り消されないので注意
直前のコミットの取り消し
変更ごと取り消す
直前の変更を取り消す
git reset --hard HEAD^
変更ごと無かったことになるので注意。
コミットのみを取り消す(変更は取り消さない)
git reset --soft HEAD^
コミットのみを取り消すので変更はステージング状態に戻される。
HEADの後の^は1つだと直前のコミット。^^のように2つつけると2つ分のコミットを取り消すことができる。
直前のコミットのメッセージを変更する。
コミットした直後にメッセージの誤字脱字に気づくことがある。
そんなときはamendを使用します。
git commit --amend -m "直前のコミットメッセージを修正"
stash関係
手元の変更を一時的に退避する。
git stash -u
対比した作業一覧を見る。
git stash list
stashした変更を元に戻す。
git stash pop # 最新のスタッシュを適用して、そのまま削除
git stahs pop stash@{0} # 特定の作業を選択して戻す。この場合はstash@{0}を指定している。
git stash pop
でコンフリクトしたとき、なかったことにする。
git checkout --ours .
git reset
git checkout .
stash listの内容を全部削除する。
git stash clear
コンフリクトしたとき
一旦元の状態に戻したい時
コンフリクトが起きてまだ何もしていない時。
git merge --abort
コンフリクト解消のために色々編集した時。
git reset --hard HEAD # 編集内容は消えるので注意
片方の変更だけを適用したい時
# マージさせたブランチ側を適用
git checkout --theirs .
# マージされるブランチ側(現在checkoutしているブランチ)を適用。
git checkout --ours .
ブランチではなく特定のコミットをマージしたいとき
git cherry-pickを使う。
git cherry-pick [取り込むコミットID]