個人的によく使うGitコマンドのユースケースごとの備忘録
普段使い PC 上だと history を参照してある程度必要な操作はできるのですが、新しい支給 PC を利用するシーンなどでは Git コマンドを忘れてググることが多かったので、備忘録として残しておきます。
ちなみに直近でよく使った Git コマンドは下記です。
$ history | grep '^git ' | awk '{ print $1, $2 }' | sort | uniq -c | sort -r | head 1619 git commit 820 git add 535 git checkout 281 git diff 219 git push 81 git reset 78 git log 74 git clone 72 git branch 70 git status 57 git remote 25 git rebase 19 git pull 18 git cherry-pick 17 git merge 15 git show 10 git config 9 git stash 5 git revert 4 git secrets
git commit でよく使うケース
直前の commit にまとめたいケース
$ git add README.md $ git commit --amend --no-edit
直前のコミットのメッセージを編集したいケース
$ git commit --amend
変更部分を表示してコミットしたいケース
$ git commit -v
git add でよく使うケース
特記事項なし
git checkout でよく使うケース
checkout は peco と組み合わせた alias を使って下記コマンドを使っています。かなり便利です。
alias gc='git branch | peco | xargs git checkout'
リモートのブランチに checkout したいケース
$ git pull $ git checkout "target_remote_branch_name"
git diff でよく使うケース
別ブランチとの差分を確認したいケース
$ git diff "target_branch_name" --name-only # ファイル名のみ $ git diff "target_branch_name" README.md # 特定ファイルの差分のみ
git push でよく使うケース
$ git push origin HEAD $ git push origin HEAD -f # force
git reset でよく使うケース
各種取り消ししたいケース
$ git reset # add 取り消し $ git reset HEAD^ # 直前のコミットを取り消し $ git reset --hard # add 取り消し & 現在の変更内容を破棄
git log でよく使うケース
$ git log --oneline README.md | head # ログを 1 行表示
git clone でよく使うケース
特記事項なし
git branch でよく使うケース
不要ブランチを削除したいケース
$ git branch -D "target_branch_name"
git status でよく使うケース
特記事項なし
git remote でよく使うケース
既存リモート URL 一覧を表示したいケース
$ git remote -v
git rebase でよく使うケース
複数コミットをまとめたいケース
$ git rebase -i HEAD~3 # $ git rebase --abort # conflict した場合に利用
git pull でよく使うケース
リモートで更新されたブランチを pull したいケース
<master> $ git checkout "develop" # 対象ブランチに checkout <develop> $ git pull origin "develop" # ブランチ名を指定して pull
git cherry-pick でよく使うケース
普通に cherry-pick
<master> $ git checkout "target_branch" <target_branch> $ git cherry-pick a1b2c3d4
git merge でよく使うケース
feature/123
ブランチに develop
ブランチをマージしたいケース (feature/123 <- develop)
<master> $ git checkout feature/123 <feature/123> $ git merge develop
git show でよく使うケース
特記事項なし
git config でよく使うケース
user 設定したいケース
$ git config --global user.name tabakazu $ git config --global user.email tabakazu@example.com
git stash でよく使うケース
変更を一時退避して、戻したいケース
$ git stash save # 変更を一時退避 $ git stash list # 退避した変更の一覧 $ git stash pop "stash@{0}" # 退避した変更の取り出し
git revert でよく使うケース
普通に revert
$ git revert a1b2c3d4
git secrets でよく使うケース
クラウド破産しないように git-secrets を使う - Qiita
その他
fork 先を追従したいケース
GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する - Qiita
$ git remote add upstream https://github.com/rails/rails.git $ git remote add upstream git@github.com:rails/rails.git $ git checkout master $ git fetch upstream $ git merge upstream/master
コミット数ランキングを表示したいケース
git shortlog -s -n
以上です。