GitHub完全ガイド:できること・料金・Copilot活用まで徹底解説

Development
スポンサーリンク

GitHubは世界最大のソースコード管理プラットフォームです。単なるバージョン管理ツールではなく、開発ワークフロー全体を支える強力なエコシステムを提供します。この記事では、GitHubでできること、主要機能、料金体系、GitHub CopilotとのAI連携まで、その全貌を徹底解説します。

スポンサーリンク

GitHubとは?

GitHubは、Gitリポジトリをクラウド上で管理できるプラットフォームです。2008年にサービス開始し、現在は1億人以上の開発者が利用しています。

Git vs GitHub

項目GitGitHub
種類バージョン管理システムクラウドサービス
動作環境ローカルクラウド
機能コミット、ブランチ管理リポジトリホスティング、コラボレーション
コスト無料(オープンソース)無料プラン+有料プラン

Gitがエンジン、GitHubがクラウド基盤と考えるとわかりやすいでしょう。

GitHubでできること

1. ソースコード管理

バージョン管理

git add .
git commit -m "機能追加"
git push origin main

変更履歴を完全に記録し、いつでも過去の状態に戻せます。

ブランチ戦略

main(本番)
  ↓
develop(開発)
  ↓
feature/new-function(機能追加)

複数人での並行開発を安全に実現します。

2. コラボレーション

Pull Request

コードレビューとマージを効率化:

1. ブランチで開発
2. Pull Request作成
3. チームメンバーがレビュー
4. 承認後マージ

Issue管理

タスク、バグ、機能要望を一元管理:

  • ラベルで分類
  • マイルストーンで進捗管理
  • アサインで担当者明確化

3. CI/CD自動化(GitHub Actions)

ワークフロー例:

name: Deploy to Production
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build and Test
        run: |
          npm install
          npm test
      - name: Deploy
        run: npm run deploy

できること:

  • 自動テスト実行
  • 自動ビルド
  • 自動デプロイ
  • 定期実行タスク

GitHub Actionsの実践例は「【試行錯誤の記録】GitHub ActionsでWordPress自動投稿!403エラーとの戦い」で詳しく解説しています。

4. 静的サイトホスティング(GitHub Pages)

無料でWebサイト公開

gh repo create my-portfolio --public

# index.html作成
echo "

My Portfolio

" > index.html # プッシュ git add . git commit -m "Initial commit" git push origin main # GitHub Pagesを有効化 # Settings → Pages → Source: main branch

公開URL: https://username.github.io/my-portfolio/

利用例:

  • ポートフォリオサイト
  • プロジェクトドキュメント
  • ブログ(Jekyll/Hugo)
  • ランディングページ

5. プロジェクト管理

Projects機能

カンバンボードでタスク管理:

To Do → In Progress → Done

ガントチャート表示やスプリント管理も可能です。

Discussions

コミュニティフォーラムとして活用:

  • Q&A
  • アイデア共有
  • アナウンス

6. セキュリティ機能

Dependabot

依存パッケージの脆弱性を自動検出:

⚠️ Security Alert
package "lodash" has a vulnerability
→ Pull Request自動作成
→ ワンクリックで更新

Code scanning

コード内のセキュリティ問題を検出:

  • SQL injection
  • XSS脆弱性
  • ハードコードされた認証情報

7. パッケージホスティング

GitHub Packages

コンテナイメージやライブラリを公開:

  • Docker images
  • npm packages
  • Maven artifacts
  • NuGet packages

GitHub Copilot:AI開発支援

Copilotとは

GitHub CopilotはOpenAIのCodexをベースにしたAIペアプログラマーです。

できること

1. コード補完

# コメントを書くだけでコード生成
# ユーザー認証機能
def authenticate_user(username, password):
    # ここから自動生成
    user = db.query(User).filter_by(username=username).first()
    if user and check_password_hash(user.password_hash, password):
        return user
    return None

2. テストコード自動生成

// 関数からテストを自動生成
function calculateTotal(items) {
    return items.reduce((sum, item) => sum + item.price, 0);
}

// Copilotがテストを提案
describe('calculateTotal', () => {
    it('should calculate sum correctly', () => {
        const items = [{price: 10}, {price: 20}];
        expect(calculateTotal(items)).toBe(30);
    });
});

3. コメント自動生成

既存コードに対して適切なドキュメントを生成します。

Copilot料金

プラン料金対象
Individual$10/月個人開発者
Business$19/月/ユーザー企業・チーム
Enterprise要問い合わせ大規模組織
無料$0学生・OSS maintainer

Copilot CLI

コマンドライン操作もAI支援:

# 自然言語でコマンド生成
?? "kill process on port 3000"

# 提案
lsof -ti:3000 | xargs kill -9

# Gitコマンド支援
git? "create a new branch for feature"

CLIツールの詳細は「GitHub CLI完全ガイド:コマンドラインでGitHub操作を効率化」をご覧ください。

料金体系

無料プラン(Free)

個人開発者向け:

  • パブリックリポジトリ:無制限
  • プライベートリポジトリ:無制限
  • GitHub Actions:2,000分/月
  • GitHub Packages:500MB
  • Codespaces:120コア時間/月

できること:

  • 基本的なGit機能
  • Issue/Pull Request
  • GitHub Pages
  • 基本的なCI/CD

有料プラン

Pro($4/月)

追加機能:

  • GitHub Actions:3,000分/月
  • GitHub Packages:2GB
  • 高度なコードレビューツール
  • Wiki機能強化
  • Insights詳細分析

おすすめ:

  • 個人プロジェクトを本格運用
  • ポートフォリオサイト運営

Team($4/月/ユーザー)

追加機能:

  • チーム管理機能
  • Protected branches(ルール設定)
  • Code owners
  • Draft Pull Requests
  • 50,000 Actions分/月

おすすめ:

  • 小〜中規模チーム開発
  • スタートアップ

Enterprise($21/月/ユーザー)

追加機能:

  • SAML SSO
  • 監査ログ
  • 高度なセキュリティ
  • SLA保証
  • プレミアムサポート

おすすめ:

  • 大企業
  • 高度なセキュリティ要件

学生・教育機関向け

GitHub Education:

  • 学生:Pro機能無料
  • 教員:Team機能無料
  • GitHub Copilot無料

申請方法:

https://education.github.com/
→ 学生証または教員証明書をアップロード
→ 数日で承認

主要機能まとめ

GitHub Actions(CI/CD)

自動化できること:

  • テスト実行
  • ビルド
  • デプロイ
  • リリース作成
  • Slack通知
  • セキュリティスキャン

無料枠:

  • パブリックリポジトリ:無制限
  • プライベートリポジトリ:2,000分/月

GitHub Pages(静的サイト)

特徴:

  • 完全無料
  • HTTPS標準対応
  • カスタムドメイン設定可能
  • Jekyll/Hugo対応

制限:

  • 1GB容量
  • 月間100GB転送量
  • 10ビルド/時間

GitHub Codespaces(クラウドIDE)

特徴:

  • ブラウザでVSCode
  • 環境構築不要
  • リポジトリと連携

無料枠:

  • 120コア時間/月
  • 15GB/月ストレージ

GitHub Discussions(コミュニティ)

用途:

  • Q&A
  • アイデア収集
  • アナウンス
  • ショーケース

個人利用での活用法

1. ポートフォリオ管理

GitHub Pagesでポートフォリオサイト公開
↓
リポジトリで実績コード管理
↓
Contributionsグラフで活動可視化

2. 学習記録

学習プロジェクトをリポジトリ化
↓
README.mdに学習メモ
↓
GitHub Actionsで自動テスト

3. 個人ブログ運営

Jekyll/Hugo + GitHub Pages
↓
Markdown記事執筆
↓
git pushで自動公開

4. スクリプト管理

日常業務の自動化スクリプト
↓
Gistで共有
↓
バージョン管理

チーム開発での活用法

ブランチ戦略

Git Flow:

main(本番)
↓
release(リリース準備)
↓
develop(開発)
↓
feature/xxx(機能開発)

GitHub Flow(シンプル版):

main(本番)
↓
feature/xxx(機能開発)

ブランチ戦略の詳細は「Git Branch戦略完全ガイド:チーム開発を成功させる実践パターン」をご覧ください。

コードレビュー

Pull Requestベストプラクティス:

  • 小さな変更に分割
  • 明確なタイトル
  • 詳細な説明
  • テスト結果添付
  • レビュアー指定

セキュリティベストプラクティス

1. 認証情報を含めない

NGパターン:

API_KEY = "abc123xyz"  # ❌ ハードコード

OKパターン:

import os
API_KEY = os.getenv("API_KEY")  # ✅ 環境変数

2. .gitignoreを設定

# 機密情報
.env
config/secrets.yml

# 認証情報
*.pem
*.key

# ビルド成果物
node_modules/
dist/

3. Two-Factor Authentication有効化

Settings → Password and authentication
→ Enable two-factor authentication

4. Personal Access Token管理

Settings → Developer settings → Personal access tokens
→ Fine-grained tokens推奨
→ 必要最小限の権限
→ 有効期限設定

トラブルシューティング

問題1:git pushが403エラー

原因:

  • 認証情報が古い
  • Personal Access Token期限切れ

解決:

# 認証情報更新
git config --global credential.helper store
git push  # 新しいトークンを入力

問題2:Actions実行が失敗

原因:

  • 無料枠超過
  • Secretsの設定ミス

解決:

Settings → Secrets and variables → Actions
→ 環境変数を確認

問題3:GitHub Pages公開されない

原因:

  • Pagesが有効化されていない
  • index.htmlがない

解決:

Settings → Pages
→ Source: main branch
→ ルートディレクトリにindex.html配置

学習ロードマップ

ステップ1:基礎(1週間)

  • リポジトリ作成
  • コミット、プッシュ
  • Pull Request作成

ステップ2:コラボレーション(2週間)

  • Issue管理
  • ブランチ戦略
  • コードレビュー

ステップ3:自動化(1ヶ月)

  • GitHub Actions基礎
  • CI/CDパイプライン構築
  • 自動テスト

ステップ4:高度な機能(2ヶ月)

  • GitHub Copilot活用
  • セキュリティ強化
  • パフォーマンス最適化

まとめ

GitHubは単なるコード管理ツールではなく、開発ワークフロー全体を支える総合プラットフォームです。

できること:

  • ソースコード管理(無制限)
  • CI/CD自動化(GitHub Actions)
  • 静的サイト公開(GitHub Pages)
  • AIコーディング支援(Copilot)
  • チームコラボレーション
  • セキュリティ管理

料金:

  • 基本機能は完全無料
  • 高度な機能は月$4から
  • 学生は無料でPro機能利用可能

おすすめ対象:

  • 個人開発者:無料プランで十分
  • チーム開発:Teamプラン推奨
  • AI活用したい:Copilot Individual追加

GitHubを活用することで、開発効率が劇的に向上します。まずは無料プランから始めて、必要に応じて機能を拡張していきましょう!

関連記事

  • GitHub CLI完全ガイド:コマンドラインでGitHub操作を効率化
GitHub CLI完全ガイド:コマンドラインでGitHub操作を効率化
GitHub CLI(ghコマンド)は、GitHubの操作をコマンドラインで完結できる公式ツールです。ブラウザを開かずに、リポジトリ作成からIssue管理、Pull Request作成まで、すべてターミナルで行えます。この記事では、実際の導...
  • GitHubリポジトリ作成の2つの方法:GUI vs CLI徹底比較
GitHubリポジトリ作成の2つの方法:GUI vs CLI徹底比較
GitHubでリポジトリを作成する方法は大きく分けて2つあります。ブラウザを使ったGUI操作と、GitHub CLIを使ったコマンドライン操作です。この記事では、実際のPythonプロジェクトを例に、両方の方法を詳しく解説します。前提条件G...
  • Git Branch戦略完全ガイド:チーム開発を成功させる実践パターン
【保存版】Git実務ガイド|ブランチ戦略から失敗時のリカバリまで完全網羅
はじめにGitは強力なバージョン管理ツールですが、使い方を間違えると大変なことになります。この記事では、実務で使えるブランチ戦略から、よくある失敗とそのリカバリ方法まで、完全網羅します。対象読者:Gitの基本は分かるが、実務での使い方に不安...

コメント