1:余計なファイルをコミットしてしまってignoreしたい時
秘密ファイルをコミットしてしまった場合とかに使える
Gitの管理から削除するなら
git rm --cached ファイル名 echo 'ファイル名' >> .gitignore
ファイルを履歴とも消すなら
秘密ファイルを過去にコミットしてしまった場合とかに使える
git filter-branch --index-filter 'git rm --cached --ignore-unmatch ファイル名' HEAD
2:修正ミスってたので直前のコメントをなしにしたいとき
バグっている時、タイプミスしているときなど
まだ取り込まれていない時 HEADだけ元に戻す git reset --soft HEAD~ HEADとインデックスを元に戻す git reset HEAD~ HEAD、インデックス、ワーキングツリーから元に戻す git reset --hard HEAD~ 取り込まれている時 git revert コミット
3:別のブランチにコミットしてしまったとき
git branch 別ブランチ git reset --hard HEAD~ git swich 別ブランチ
4:コミットを間違って消してしまったとき
git reflog #git reset する前のHEADを指定 git reset --hard コミット
5:ブランチを間違って消しちゃった時
git reflog git branch ブランチ名 コミット
6:コミットメッセージを間違えた時
git commit --amend iでinsertモードにして、コメントを修正、Escした後に:wqで保存
7:マージしたけどコンフリクトしまくったので元に戻したい時
git reset --hard ORIG_HEAD マージをなしにできる
8:違うユーザ名でコミットしてしまったとき
会社と家で違うアカウントだと起こりやすいそう
基本 .gitconfigか .git/configでユーザー名を変更 -HEADのユーザー名・メールアドレスを変えたい時 git commit --amend -m "コミットメッセージ" --author= 'set.name <user.email>'
9:ブランチ名を間違えてつけてしまったとき
git branch -m 新しいブランチ名
10:急に緊急対応しないといけない時
バグなどで緊急対応のとき git stash ブランチ切り替えて作業。作業後ブランチを元に戻す git stash pop
11:誤ったコミットプッシュしちゃったとき
git push origin :ブランチ名 git reset --hard コミット git push origin ブランチ名
12:リリースしてバグがあったのですぐに切り戻したい時
git log git revert -m 1 マージコミット
13: 切り戻した後再マージできない時
打ち消したコミットを打ち消す
git revert 打ち消したコミット git merge ブランチ