はじめに
gitにまつわる 「ああしたい! こうしたい!」 をシーン別に一問一答形式でまとめました。
最初は少ないですが、少しずつ増やしていく予定です。
掲載基準は使用頻度ではなく、自分がよく使うものや、忘れがちなものなどです。
※ 理解が浅く誤った内容を含んでいる可能性もございますがご容赦下さい。
【シーン1】 作成済みのローカルブランチ名をあとから変更したい!
- 間違った名前でブランチを作ってしまった・・・そんなときはこれ
回答
git branch -m <変更前の名前> <変更したい名前>
(例) test1ブランチの名前をtest2ブランチに変更する
git branch -m test1 test2
【シーン2】 直前にしたコミットのコミットメッセージを修正したい!
- 上書きして修正できます
- コミットメッセージを記入途中に間違ってEnterを押して、あっ! ってなったときによく使います
回答
git commit --amend -m "上書き修正したいコミットメッセージ"
【シーン3】 git add と git merge を取り消して編集前に戻したい!
- コンフリクト解消のためにコードをいろいろ編集したけどマージをやめたい、というときに使用
- stash apply したときに、ステージングされつつマージもされていてコンフリクトしていたときに、やっぱり戻したい!ってなったときに使いました
git reset --hard HEAD
【シーン4】 不要になったローカルブランチを削除したい!
回答
git branch -d <削除したいローカルブランチ名>
(例) test1ブランチを削除する
git branch -d test1
↓
上記で怒られたときは、ローカルブランチを強制削除する
回答
git branch -D <強制削除したいローカルブランチ名>
【シーン5】 リモートに存在するブランチを ローカルに持ってきたい!
- ローカルに存在していないときに使います
回答
git checkout -b <ローカルで使いたいブランチ名> origin/<ローカルで使いたいリモートブランチ名>
(例)リモートに存在する test1ブランチ を ローカルに持ってくる
git checkout -b test1 origin/test1
↓
上記コマンド後、 「 git is not a commit and a branch 」 と怒られた場合は
以下でリモートの最新情報を取得してから実施する
git fetch --prune
【シーン6】 直前のコミットを取り消し、git add された状態に戻したい!
- コミットするファイルが他にもあった場合や、ファイルの修正をしたい場合など
git reset --soft HEAD^
【シーン7】 間違えて git push した リモートブランチを消したい!
- タイポしたときや不要になった場合など
回答
git push origin :<削除したいリモートブランチ名>
(例)リモートにある test1ブランチ を削除する
git push origin :test1
(参考にさせていただいた記事)