株式会社WR

株式会社WR

WEB TOTAL CONSULTING

個人開発者のためのGit入門——ブランチ戦略とコミットの習慣
ブログ一覧へ
技術ブログ

個人開発者のためのGit入門——ブランチ戦略とコミットの習慣

一人で開発していても、Gitのブランチ戦略とコミットメッセージのルールを守ることで、後から振り返りやすく品質の高い開発ができます。

なぜ個人開発でもGitが必要なのか

「一人でしか開発しないからGitは不要」という声を聞くことがありますが、これは大きな誤解です。Gitはチーム開発のためのツールではなく、時間軸を管理するためのツールです。

  • 3日前まで動いていた機能が突然壊れた → どこで壊れたか追跡できる
  • 新機能を追加中に別のバグ修正が必要になった → ブランチで並行作業できる
  • リリース後に問題が発覚した → 1コマンドで前バージョンに戻せる

本記事では個人開発者が実践すべきGitのブランチ戦略とコミット習慣を解説します。


おすすめのブランチ構成

個人開発で現実的なのは以下の3〜4ブランチ構成です。

main        ← 本番リリース済みの安定版
develop     ← 開発の統合ブランチ
feature/xxx ← 機能追加(develop から分岐)
fix/xxx     ← バグ修正(develop または main から分岐)

ブランチ操作の基本

# developからfeatureブランチを作成
git checkout develop
git checkout -b feature/add-contact-form

# 作業後、developにマージ
git checkout develop
git merge --no-ff feature/add-contact-form
git branch -d feature/add-contact-form

--no-ff オプションを使うことで、マージコミットが作られ、ブランチの存在がログに残ります。後から「この機能はいつ追加されたか」を把握しやすくなります。


コミットメッセージの書き方

コミットメッセージは未来の自分へのメモです。updatefix だけのメッセージは1週間後には意味を失います。

Conventional Commits 形式

<type>(<scope>): <description>

[optional body]
type 意味
feat 新機能追加
fix バグ修正
docs ドキュメント更新
refactor リファクタリング(機能変更なし)
test テスト追加・修正
chore ビルド・CI設定変更

実例

git commit -m "feat(contact): お問い合わせフォームのバリデーション追加

- 名前・メール・本文の必須チェック
- メールアドレス形式チェック
- 本文の最大文字数制限(1000文字)を追加"

.gitignoreを最初に設定する

プロジェクト開始時に必ず .gitignore を設定してください。

# Laravelの場合
.env
/vendor
/node_modules
/public/hot
/public/storage
/storage/*.key
.phpunit.result.cache

よく使うGitコマンド集

# 変更の状態確認
git status
git diff

# ステージングと取り消し
git add -p          # 変更を対話的にステージング(推奨)
git restore --staged <file>  # ステージング取り消し

# ログ確認
git log --oneline --graph --all

# 特定ファイルの変更履歴
git log --follow -p app/Models/User.php

# 直前のコミットを修正(まだpushしていない場合のみ)
git commit --amend

# 作業を一時退避
git stash
git stash pop

# 特定のコミットに戻る(ブランチを変えずに確認)
git checkout <commit-hash> -- path/to/file

git bisect——バグの混入コミットを二分探索で特定

「いつからこのバグが発生したかわからない」という場面で git bisect を使うと、二分探索でバグを混入させたコミットを自動的に特定できます。

git bisect start
git bisect bad                  # 現在のコミットはバグあり
git bisect good v1.0.0          # このタグ時点ではバグなし

# Gitが中間のコミットをcheckoutする
# テストして良い・悪いを報告
git bisect good  # このコミットはOK
git bisect bad   # このコミットはNG

# 絞り込まれたらリセット
git bisect reset

タグで重要なポイントを記録する

# アノテーションタグを作成
git tag -a v1.0.0 -m "初回リリース"

# タグをプッシュ
git push origin v1.0.0
git push origin --tags  # 全タグをプッシュ

リモートリポジトリとCIの連携

GitHubにプッシュすることで、GitHub Actionsを使った自動テスト・自動デプロイが可能です。

# .github/workflows/test.yml
name: Test

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.2'
      - run: composer install --no-progress --prefer-dist
      - run: cp .env.testing .env
      - run: php artisan key:generate
      - run: php artisan test --parallel

まとめ

Gitの習慣を身につけることで、個人開発でも「なぜこのコードを書いたか」「いつ何を変更したか」を追跡でき、品質と安心感が格段に上がります。弊社では全プロジェクトでGitを使い、GitHub ActionsによるCI/CDと合わせてコードの品質管理を徹底しています。

開発プロジェクトのご相談はお気軽にお問い合わせください。

Category 技術ブログ

Related Posts

関連記事

開発・技術のご相談はお気軽に

お見積りは無料です。まずはお気軽にご相談ください。

お問い合わせ →