From 7d5a432bbe7b338c23a38d260271bdaf12f47e5e Mon Sep 17 00:00:00 2001 From: marketing-shibata50 Date: Sun, 20 Jul 2025 21:04:05 +0900 Subject: [PATCH] feat: add practical GitHub development workflow guide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created workflow/github-development-workflow.md - Detailed timeline of when to use each GitHub feature - Real development scenarios from project start to deployment - Daily/weekly/monthly GitHub usage patterns - Troubleshooting and professional tips ユーザーからの質問「具体的に開発を進めるにあたって、githubをどのタイミングでどの機能をどのようにつかうのか」に対応 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- index.md | 6 + workflow/github-development-workflow.md | 433 ++++++++++++++++++++++++ 2 files changed, 439 insertions(+) create mode 100644 workflow/github-development-workflow.md diff --git a/index.md b/index.md index 452b90a..f035c1e 100644 --- a/index.md +++ b/index.md @@ -124,6 +124,12 @@ description: "外部ツールに依存せず、GitHub一つで開発業務を完

全GitHub機能の詳細解説とプロ向け活用法

NEW + + +

🔄 開発ワークフロー

+

実際の開発でいつ・何を・どう使うか

+ NEW +
## 🎓 学習の進め方 diff --git a/workflow/github-development-workflow.md b/workflow/github-development-workflow.md new file mode 100644 index 0000000..7136281 --- /dev/null +++ b/workflow/github-development-workflow.md @@ -0,0 +1,433 @@ +--- +layout: default +title: "GitHub開発ワークフロー完全ガイド - いつ、何を、どう使うか" +description: "実際の開発でGitHubの各機能をどのタイミングで使うか、具体例で解説" +--- + +# 🚀 GitHub開発ワークフロー完全ガイド + +実際の開発プロジェクトで、GitHubの機能をいつ、どのように使うのか、時系列で解説します。 + +--- + +## 📅 プロジェクト開始前(Day 0) + +### 1. リポジトリ作成 +```bash +# プロジェクト名を決めて作成 +gh repo create my-awesome-app --public --add-readme +``` + +### 2. 初期設定 +```yaml +# .github/ISSUE_TEMPLATE/bug_report.md +# .github/ISSUE_TEMPLATE/feature_request.md +# .github/pull_request_template.md +# .gitignore +# README.md +``` + +### 3. Project作成 +``` +GitHub → Projects → New project +├── 名前: "My App Development" +├── テンプレート: "Team backlog" +└── フィールド追加: Priority, Story Points, Sprint +``` + +### 4. 初期Issue作成 +```markdown +Issue #1: プロジェクト初期設定 +- [ ] 開発環境構築手順書作成 +- [ ] コーディング規約決定 +- [ ] CI/CD設定 + +Issue #2: 基本機能の要件定義 +- [ ] ユーザーストーリー作成 +- [ ] 画面設計 +- [ ] API設計 +``` + +--- + +## 🏃 開発開始(Week 1) + +### 月曜日:スプリント計画 + +#### 9:00 - Project Boardで計画 +``` +1. Projectsを開く +2. BacklogからSprint 1に移動: + - Issue #3: ユーザー認証機能 + - Issue #4: データベース設計 + - Issue #5: ログイン画面UI +3. 各Issueにポイント設定 +``` + +#### 10:00 - チーム割り当て +```markdown +# Issue #3 にコメント +@frontend-dev ログイン画面お願いします +@backend-dev 認証APIお願いします +期限: 金曜日まで +``` + +### 火曜日:開発作業 + +#### 9:00 - ブランチ作成 +```bash +# 最新のmainを取得 +git checkout main +git pull origin main + +# 機能ブランチ作成 +git checkout -b feature/user-authentication +``` + +#### 10:00 - 開発中 +```bash +# こまめにコミット +git add src/components/LoginForm.jsx +git commit -m "feat: ログインフォームのUI実装 #3" + +# 1日の終わりにPush +git push origin feature/user-authentication +``` + +#### 17:00 - Draft PR作成 +```bash +# まだ完成していないけどPR作成 +gh pr create --draft --title "WIP: ユーザー認証機能 #3" +``` + +### 水曜日:進捗確認 + +#### 10:00 - スタンドアップ(Projectsで確認) +``` +Projects → Board View +├── To Do: 2件 +├── In Progress: 3件 ← ここを確認 +├── In Review: 0件 +└── Done: 1件 +``` + +#### 14:00 - Issue更新 +```markdown +# Issue #3 にコメント +## 進捗報告 +- ✅ ログインフォームUI完成 +- ✅ バリデーション実装 +- 🚧 API連携作業中 +- ⏳ テスト作成予定 + +残タスク: +- [ ] エラーハンドリング +- [ ] ローディング表示 +``` + +### 木曜日:コードレビュー + +#### 10:00 - PR準備完了 +```bash +# Draft から通常のPRに変更 +gh pr ready + +# PR説明を更新 +``` + +```markdown +## 概要 +ユーザー認証機能を実装しました。 + +## 変更内容 +- ログインフォームコンポーネント +- 認証API(JWT使用) +- Reduxでの状態管理 + +## スクリーンショット +![ログイン画面](./screenshots/login.png) + +## テスト +- [x] ユニットテスト追加 +- [x] E2Eテスト追加 +- [x] 手動テスト完了 + +Closes #3 +``` + +#### 14:00 - レビュー対応 +```markdown +# PR上でのやり取り +@reviewer: 23行目、エラーハンドリングが不足していませんか? + +@developer: 修正しました!確認お願いします。 +commit: a1b2c3d +``` + +### 金曜日:マージとデプロイ + +#### 10:00 - 最終確認 +```yaml +# GitHub Actions が全て ✅ グリーン +- Build: ✅ Passed +- Test: ✅ Passed +- Lint: ✅ Passed +- Security: ✅ Passed +``` + +#### 11:00 - マージ +``` +1. PR ページで "Squash and merge" +2. コミットメッセージを整理 +3. "Confirm merge" +4. ブランチ自動削除 +``` + +#### 11:30 - 自動デプロイ +```yaml +# .github/workflows/deploy.yml +on: + push: + branches: [main] + +# 自動的にステージング環境へデプロイ +``` + +#### 15:00 - スプリント振り返り +```markdown +# ProjectsでSprint 1を確認 +完了: 8件 +未完了: 2件 → 次スプリントへ + +# 新しいDiscussion作成 +タイトル: Sprint 1 振り返り +カテゴリ: Team Updates +``` + +--- + +## 🔄 日常的な開発サイクル + +### 毎朝のルーティン(5分) +```bash +# 1. 最新を取得 +git checkout main +git pull origin main + +# 2. 自分のブランチを更新 +git checkout feature/my-feature +git rebase main + +# 3. GitHub通知確認 +# - 自分へのメンション +# - レビューリクエスト +# - CI/CDの結果 +``` + +### Issue駆動開発 +``` +1. Issue確認 → 今日やること決定 +2. ブランチ作成 → feature/issue-番号 +3. 開発 → コミットメッセージに #番号 +4. PR作成 → Issueと自動リンク +5. マージ → Issue自動クローズ +``` + +### コミットのタイミング +```bash +# ❌ 悪い例:1日分をまとめてコミット +git add . +git commit -m "今日の作業" + +# ✅ 良い例:機能単位でコミット +git add src/components/Button.jsx +git commit -m "feat(ui): カスタムボタンコンポーネント追加" + +git add src/styles/button.css +git commit -m "style(ui): ボタンのスタイル追加" + +git add tests/Button.test.js +git commit -m "test(ui): ボタンコンポーネントのテスト追加" +``` + +--- + +## 🚨 トラブル発生時 + +### バグ発見(緊急度:高) +```bash +# 1. Issue作成 +gh issue create \ + --title "🐛 決済処理でエラー発生" \ + --label "bug,urgent,production" \ + --assignee "@payment-team" + +# 2. Hotfixブランチ +git checkout -b hotfix/payment-error + +# 3. 修正 → テスト → PR +# 4. 緊急マージ(レビュー1人でOK) +``` + +### 機能追加リクエスト +```markdown +# Discussions で議論 +カテゴリ: Ideas +タイトル: ダークモード対応について + +# 合意が取れたらIssue化 +Issue #45: ダークモード実装 +ラベル: enhancement, ui, sprint-3 +``` + +--- + +## 📊 週次・月次の活動 + +### 週次レビュー(金曜日) +``` +1. Projects確認 + - 完了タスク数 + - ベロシティ計算 + - 来週の計画 + +2. Insights確認 + - コード頻度 + - コントリビューター統計 + - PR/Issueの傾向 + +3. Wiki更新 + - リリースノート + - 新機能のドキュメント +``` + +### 月次活動 +``` +1. マイルストーン設定 + - 次月の大目標 + - リリース計画 + +2. セキュリティレビュー + - Dependabot アラート確認 + - セキュリティアドバイザリ + +3. パフォーマンス分析 + - Actions の実行時間 + - ビルド時間の最適化 +``` + +--- + +## 🎯 シチュエーション別ガイド + +### 新機能開発 +``` +1. Discussion で提案 +2. Issue 作成 +3. Projects に追加 +4. ブランチ → 開発 → PR +5. レビュー → マージ +6. Release 作成 +``` + +### バグ修正 +``` +1. Issue でバグ報告 +2. 再現確認 +3. Hotfixブランチ +4. 修正 → テスト +5. 緊急PR → マージ +6. パッチリリース +``` + +### ドキュメント更新 +``` +1. Wiki 直接編集 + または +2. docs/ フォルダで管理 +3. PR でレビュー +4. GitHub Pages 自動更新 +``` + +### 外部コントリビュータ +``` +1. Fork してもらう +2. Contribution Guide 参照 +3. PR 受け取り +4. レビュー & フィードバック +5. マージ or 修正依頼 +``` + +--- + +## 💡 プロのTips + +### 1. ラベルの活用 +```yaml +種類: + - bug: 不具合 + - feature: 新機能 + - docs: ドキュメント + +優先度: + - P0: 今すぐ + - P1: 今週中 + - P2: 今月中 + +状態: + - ready: 着手可能 + - blocked: ブロック中 + - needs-review: レビュー待ち +``` + +### 2. 自動化の極意 +```yaml +# PR作成時に自動でProjectsに追加 +# Issue作成時に自動でラベル付け +# マージ時に自動でデプロイ +# 定期的な依存関係更新 +``` + +### 3. コミュニケーション +```markdown +# Issue/PRでの良いコメント +- 具体的な問題説明 +- 再現手順 +- 期待する結果 +- スクリーンショット +- 関連リンク +``` + +--- + +## 📈 成果の可視化 + +### GitHub Insights 活用 +``` +Code frequency: コード追加/削除の推移 +Pulse: 週次/月次のアクティビティ +Contributors: 誰がどれだけ貢献したか +Traffic: リポジトリの人気度 +``` + +### Projects の分析 +``` +- スプリント完了率 +- 平均リードタイム +- サイクルタイム +- 未完了タスクの傾向 +``` + +--- + +## 🎉 まとめ + +GitHubを使った開発は、**Issue → Branch → Commit → PR → Merge** のサイクルが基本。 + +各機能を適切なタイミングで使うことで: +- 進捗が可視化される +- チーム連携がスムーズ +- 品質が保たれる +- 履歴が残る + +まずは小さく始めて、徐々に機能を増やしていきましょう! \ No newline at end of file