Gitは現代のソフトウェア開発において必須のバージョン管理ツールです。本記事では、Git・GitHubの基礎から実務で使うプルリクエスト・ブランチ戦略まで、現役エンジニアが実践的に解説します。
GitとGitHubの違いを理解しよう
Gitはローカルで動作するバージョン管理システムです。コードの変更履歴を追跡し、過去のバージョンに戻したり、複数の変更を管理できます。一方、GitHubはGitリポジトリをクラウドで管理するホスティングサービスです。チームでのコード共有やコードレビューを可能にします。
Git環境構築:インストールと初期設定
# Git インストール確認
git --version
# git version 2.44.0
# ユーザー情報の設定(最初に必ず行う)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
# 設定確認
git config --list
Gitの基本コマンド10選
1. git init / git clone
# 新規リポジトリの初期化
git init my-project
cd my-project
# 既存リポジトリのクローン
git clone https://github.com/username/repository.git
2. git add / git commit
# 変更ファイルをステージングエリアに追加
git add index.html # 特定ファイル
git add . # すべての変更
# コミット(変更を確定)
git commit -m "feat: ログイン機能を追加"
3. git branch / git checkout
# ブランチ一覧表示
git branch
# 新規ブランチ作成・切り替え
git checkout -b feature/user-auth
# Git 2.23以降の推奨コマンド
git switch -c feature/user-auth
4. git push / git pull
# リモートリポジトリに変更を送信
git push origin feature/user-auth
# リモートの変更を取得・統合
git pull origin main
5. git merge / git rebase
# mainブランチにfeatureブランチをマージ
git checkout main
git merge feature/user-auth
# rebase(コミット履歴をきれいに保つ)
git rebase main
実務で使うGitフロー:GitFlow入門
実務では「GitFlow」や「GitHub Flow」などのブランチ戦略を採用することが多いです。特に中規模以上のチーム開発では、以下のブランチ構成が一般的です。
- main:本番環境用の安定したコード
- develop:開発中のコードの統合ブランチ
- feature/xxx:機能開発用ブランチ
- release/x.x.x:リリース準備用ブランチ
- hotfix/xxx:緊急バグ修正用ブランチ
GitHub Actionsで自動化を実現
GitHub Actionsを使えば、プッシュやプルリクエスト時に自動でテスト・デプロイを実行できます。以下はシンプルなCI/CDパイプラインの例です。
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
よく使うGitコマンド一覧(チートシート)
| コマンド | 説明 |
|---|---|
| git status | 作業ツリーの状態確認 |
| git log –oneline | コミット履歴を一行表示 |
| git diff | 変更差分を確認 |
| git stash | 作業中の変更を一時保存 |
| git reset –hard HEAD | 最新コミットの状態に戻す |
| git cherry-pick [hash] | 特定のコミットのみ適用 |
| git tag v1.0.0 | バージョンタグを付与 |
まとめ:Gitをマスターしてチーム開発を円滑に
GitとGitHubは現代エンジニアにとって必須のスキルです。まずは基本コマンドを習得し、実際にプロジェクトで使いながら慣れていくことが最も効果的な学習方法です。GitHub上でOSSプロジェクトへの貢献(コントリビューション)を始めることで、実務レベルのスキルが身につきます。