【検証】 開発で1番利用頻度の高い Git コマンドは何か?利用頻度順に集計してみた
今回は普段使っている Git コマンドの頻度を集計してみました。
よく Git について分かっていない方や、これからチーム開発をしていく方には実務での利用頻度は参考になると思います。
検証結果
検証結果の画像です。
【第1位】 git checkout (使用回数: 999回)
第1位は git checkout でした。
git checkout は作業しているブランチを切り替えるためのコマンドですね。
自分の作業をする際は勿論、コードレビュー時の動作確認でもよく使うこともあり、堂々の1位となりました。
後、直近コミット後の作業を完全に消したい場合、git checkout . とすることが多いのも大きな要因かも知れません。
【第2位】 git add (使用回数: 764回)
第2位は git add です。
直近のコミットとの差分をコミット対象に選ぶためのコマンドです。自分はよく -p オプションを付けて使っています。
【第3位】 git grep (使用回数: 695回)
第3位は git grep でした。
git grep ...!? 最近はエディタを Vim から VSCode に変えてからはめっぽう使わなくなったのですが、第3位にランクインしていました。grep はパターンを渡すとコードからマッチするファイルと行を返してくれるコマンドです。
ちょっとこれは意外。
【第4位】 git push (使用回数: 458回)
言わずと知れたリモートブランチに push する git push ですね。
git push origin master だけはしないように気をつけましょう。
【第5位】 git reset (使用回数: 297回)
第5位は git reset でした。
使い方は様々で、add した差分をコミット対象から外したい場合や、特定のコミット位置に戻りたい場合にオプション (--soft, --hard) を付けて利用することが多いです。
これも納得。
【第6位】 git push-f (使用回数: 205回)
push-f は git push に --force-with-lease オプションを付けたエイリアスです。このオプションを付けるとリモートブランチに変更があった場合、push が失敗するため他の人の修正を打ち消すことを防げます。
コミットログを綺麗にすると、手元のコミットのハッシュ値が変わるので (push -f が必要になる)、その場合は --force-with-lease を使います。
【第7〜18位】
git pull (170): リモートブランチとの差分をローカルに適用する時に利用します。
git cherry-pick (86): 特定のコミットを現在のブランチに追加したい時に利用します。
git branch (74): ローカルやリモートに何のブランチがあるか確認する際に利用します。
git merge (53): ローカルでブランチのマージをする際に利用します。
git commit (53): add した差分をコミットするのに利用します。直前のコミットに add した内容を追加する --amend オプションもよく使います。回数はこんなに少ないか...?
git rebase (47): 特定のコミットを編集したり、削除したり、コミットを一つにまとめたりする際に利用。利用頻度はもう少し高いと思っていました。
git diff (45): ローカルでどのような差分があるか確認するために利用します。
git remote (31) : remote add / rm する時によく使います。利用頻度はもっと少ないイメージがありますが、最近の個人活動の影響かも知れません。
git revert (29): コミットを打ち消したい時に使います。主にリリースした機能にバグがあって元の状態に戻したい時に利用します。
git log (22): 直近でどのようなコミットをしたか確認するために使います。他には git reset するためのハッシュ値を確認する時とかに使っています。
git rm (18): gitの管理対象から特定のファイル、ディレクトリを削除する際に使います。そんな使うか...?
git stash (14): 差分を一時避難しておく時に使います。もう少しよく使ってる気がします。
まとめ
利用頻度の高い順に Git コマンドを集計してみました。
大体これらのコマンドを頭の中でイメージしながら使えたら、実務でも Git 操作に困ることはないでしょう。大事なのはコマンドを打つことでどのような結果になるのか、やってみて頭でしっかり理解することです。
最後に集計のための便利コマンドです。(使ってるシェルに応じて *_history の * 部分を変えて試してください)
$ grep -o "git \S*" ~/.zsh_history | sort | uniq -c | sort -r
読者の利用頻度
記事が良いと思ったらサポートをお願いします!