いつもではないけれど、ちょっと困ったときに使いたくなる Git コマンドをまとめました。
「使い方は分かっているのだけど、よくコマンドを忘れてしまうんだよな」という方向けです。
git revert
コミットを相殺するコミットを打ちたい
$ git revert [commit_id]
マージコミットを相殺するコミットを打ちたい
$ git revert -m [1|2] [commit_id]
git reset
コミットIDまで戻したい
$ git reset --hard [commit_id]
ローカルブランチの変更履歴をリモートブランチの変更履歴で上書きしたい
$ git checkout [branch_name]
$ git fetch
$ git reset --hard origin/[branch_name]
git log
短く表示したい、コミットメッセージとコミットIDだけ知りたい
$ git log --oneline
変更したファイルと差分のある行数を表示したい
$ git log --stat
コードの差分を表示したい
$ git log -p
コミットメッセージで絞り込みたい
$ git log --grep [commit_message]
コードの差分に含むキーワードで絞り込みたい
$ git log -S [keyword]
git grep
リポジトリ内のファイルをキーワードで検索したい
$ git grep [keyword]
リポジトリ内のファイルをパターンで検索したい
$ git grep -E "[regexp]"
git branch
ブランチをリネームしたい
$ git branch -M [old_branch_name] [new_branch_name]
マージ済のブランチを削除したい
$ git branch -d [branch_name]
マージ済に関わらずブランチを削除したい
$ git branch -D [branch_name]
master と develop 以外のマージ済のブランチをすべて削除したい
$ git branch --merged | grep -vE '^\*|master$|develop$' | xargs -I % git branch -d %
マージされていないブランチを表示したい
$ git branch --no-merged
man git
マニュアルを読みたい
$ man git
$ man git-[subcommand]