ソフトウェア開発においてバージョン管理は最も重要なスキルの一つです。Gitはその事実上の標準であり、GitHubはGitを活用したコラボレーションプラットフォームです。本記事では、ゼロからGit/GitHubを使いこなすための完全ガイドを提供します。

1. Gitとは?GitHubとは?

  • Git:分散型バージョン管理システム。ファイルの変更履歴を記録・管理するツール
  • GitHub:Gitリポジトリのホスティングサービス。チーム開発のコラボレーション機能を提供

2. 初期設定

# Gitのインストール確認
git --version

# ユーザー名とメールアドレスの設定
git config --global user.name "あなたの名前"
git config --global user.email "your@email.com"

# デフォルトブランチ名をmainに
git config --global init.defaultBranch main

# エディタの設定(VS Code)
git config --global core.editor "code --wait"

# 設定確認
git config --list

3. 基本コマンド

# リポジトリの初期化
git init

# 変更状況の確認
git status

# ファイルをステージング
git add index.html          # 特定ファイル
git add .                    # すべての変更

# コミット(変更を記録)
git commit -m "feat: ヘッダーコンポーネントを追加"

# コミット履歴の確認
git log --oneline --graph -10

# リモートリポジトリの追加と接続
git remote add origin https://github.com/username/repo.git

# プッシュ(リモートに送信)
git push -u origin main

# プル(リモートから取得&マージ)
git pull origin main

# 変更を一時退避
git stash
git stash pop
✅ コミットメッセージのベストプラクティス

Conventional Commitsの形式を推奨します:feat:(機能追加)、fix:(バグ修正)、docs:(ドキュメント)、style:(コード整形)、refactor:(リファクタリング)

広告

4. ブランチ戦略

# ブランチの作成と切り替え
git checkout -b feature/user-auth

# ブランチ一覧
git branch -a

# ブランチの切り替え
git checkout main

# ブランチのマージ
git checkout main
git merge feature/user-auth

# マージ済みブランチの削除
git branch -d feature/user-auth

Git Flow(推奨ブランチ戦略)

  • main:本番環境に対応、常にデプロイ可能な状態
  • develop:開発ブランチ、次のリリースに向けた統合ブランチ
  • feature/*:新機能開発用(developから分岐)
  • hotfix/*:緊急修正用(mainから分岐)
  • release/*:リリース準備用

5. プルリクエスト

プルリクエスト(PR)はコードレビューの仕組みです。直接mainにpushせず、PRを通じてレビューを受けることで、コードの品質を維持します。

良いPRの書き方

  1. タイトルを明確に:「ユーザー認証機能の追加」
  2. 概要を記載:何を変更したか、なぜ変更したか
  3. スクリーンショットを添付(UI変更の場合)
  4. 変更が小さいこと:1PRにつき1機能
  5. テストを含める

6. コンフリクト解決

複数人が同じファイルを編集するとコンフリクトが発生します。

# コンフリクト発生時の表示
<<<<<<< HEAD
const greeting = "おはようございます";
=======
const greeting = "こんにちは";
>>>>>>> feature/greeting-update

# 解決方法:
# 1. どちらかを選ぶ、または両方を統合する
# 2. マーカー(<<<, ===, >>>)を削除
# 3. ファイルを保存

const greeting = "こんにちは"; # 正しい方を残す

# 4. ステージングとコミット
git add .
git commit -m "fix: greetingのコンフリクトを解決"
💡 VS Codeでのコンフリクト解決

VS Codeにはコンフリクト解決の専用UIがあり、「Accept Current」「Accept Incoming」「Accept Both」ボタンでワンクリックで解決できます。

Git/GitHubは最初は複雑に感じますが、基本コマンドの7割は日常的に使う5〜6個です。まずはadd → commit → push → pullのサイクルをマスターし、徐々にブランチやPRの活用に進んでいきましょう。