Gitの便利なコマンド10選|日々の開発でよく使うコマンドを厳選

開発ツール

Gitは現代の開発に欠かせないバージョン管理ツールですが、日常的に使うコマンドは意外と限られています。本記事では、毎日の開発で頻出する10コマンドを厳選し、使いどころと注意点を実例つきで解説します。基本のadd/commit/pushは知っているが、現場で「もう一歩使いこなしたい」という方におすすめの内容です。

1. git status — 作業ツリーの状態確認

変更・ステージング・追跡外ファイルを一目で確認できる、もっとも頻繁に使うコマンドです。コミット前に必ず実行する習慣を付けると事故を防げます。

git status
git status -s   # 短縮表示

2. git diff — 変更内容を確認

未ステージの変更を比較表示します。ステージ済みは --staged オプションで確認できます。

git diff               # 未ステージの変更
git diff --staged      # ステージ済みの変更
git diff main..feature # ブランチ間の差分

3. git add -p — 部分ステージング

1ファイル内の変更を「ハンク」単位で選びながらステージできます。1コミット1目的を守るうえで強力な機能です。

git add -p src/app.ts
# y/n でハンクごとに採否を選択

4. git commit –amend — 直前コミットの修正

直前のコミットにファイル追加し忘れた、メッセージを修正したい場合に使います。push済みのコミットには使わないのが鉄則です。

git add forgotten.ts
git commit --amend --no-edit       # メッセージはそのまま
git commit --amend -m "新しいメッセージ"

5. git switch / git restore — branchとcheckoutの分業

従来 git checkout が担っていた役割が、用途別に2コマンドに分かれました。意味が明確になり事故が減ります。

git switch feature           # ブランチ切替
git switch -c feature        # ブランチ作成して切替
git restore src/app.ts       # ファイルの変更を破棄
git restore --staged file    # ステージ解除

6. git log — 履歴を見やすく

そのまま使うと冗長なので、エイリアス化して短い表示にするのが定番です。

git log --oneline --graph --decorate --all
git log -p path/to/file        # ファイルの変更履歴を内容付きで
git log -S "search_text"        # 文字列が登場したコミットを検索

7. git stash — 作業を一時退避

未コミットの作業を退避し、後で復元できます。割り込み対応や急なブランチ切替で役立ちます。

git stash push -m "WIP: refactor"
git stash list
git stash pop          # 最新を復元して削除
git stash apply stash@{1}  # 古いものを復元(残す)

8. git rebase — 履歴を整理

分岐元を最新に追従させたり、自分の作業中コミットを整理する用途で頻出します。インタラクティブモードはコミットの統合・並べ替え・メッセージ修正に便利です。

git fetch origin
git rebase origin/main      # main最新に追従
git rebase -i HEAD~3        # 直近3コミットを整理

9. git cherry-pick — 特定コミットだけ取り込む

別ブランチの特定コミットだけを現在のブランチに取り込めます。ホットフィックスを複数ブランチに展開する場面で役立ちます。

git cherry-pick <commit-hash>
git cherry-pick A..B           # 範囲指定

10. git reflog — 失った操作を取り戻す

resetやrebaseで「コミットを失った」ように見える場合でも、reflogに履歴が残っているので大抵復元できます。Git最後の砦と言われる重要コマンドです。

git reflog
git reset --hard HEAD@{2}   # 2つ前の状態に戻す

まとめ

add / commit / push に加えて、本記事の10コマンドを使えるようになると、Gitの「困った!」のほとんどは自力で解決できるようになります。とくに git add -p git rebase -i git reflog の3つは、コミット品質と安全性を一段引き上げてくれるので、まずはこれらから日々の開発に取り入れてみてください。