feat: GitHub Pages をシンプル設定に変更
- 複雑なGitHub Actionsを削除
- ファイルをルートディレクトリに移動
- minimaテーマでシンプル構成
- 公式ドキュメント準拠の設定
🚀 GitHub Pages 標準機能のみでWebサイト構築
This commit is contained in:
parent
cead76870e
commit
403b24d50f
7 changed files with 2622 additions and 77 deletions
|
|
@ -1,7 +1,9 @@
|
||||||
{
|
{
|
||||||
"permissions": {
|
"permissions": {
|
||||||
"allow": [
|
"allow": [
|
||||||
"Bash(git add:*)"
|
"Bash(git add:*)",
|
||||||
|
"Bash(git commit:*)",
|
||||||
|
"WebFetch(domain:docs.github.com)"
|
||||||
],
|
],
|
||||||
"deny": []
|
"deny": []
|
||||||
}
|
}
|
||||||
|
|
|
||||||
76
.github/workflows/pages.yml
vendored
76
.github/workflows/pages.yml
vendored
|
|
@ -1,76 +0,0 @@
|
||||||
name: Deploy GitHub Pages
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ main ]
|
|
||||||
paths:
|
|
||||||
- 'docs/**'
|
|
||||||
- '.github/workflows/pages.yml'
|
|
||||||
|
|
||||||
# 手動実行を許可
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
# GitHub Pagesデプロイのための権限設定
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
pages: write
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
# 同時実行の制御
|
|
||||||
concurrency:
|
|
||||||
group: "pages"
|
|
||||||
cancel-in-progress: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# ビルドジョブ
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Ruby
|
|
||||||
uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: '3.1'
|
|
||||||
bundler-cache: true
|
|
||||||
|
|
||||||
- name: Setup Pages
|
|
||||||
id: pages
|
|
||||||
uses: actions/configure-pages@v3
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
cd docs
|
|
||||||
bundle install
|
|
||||||
|
|
||||||
- name: Build site
|
|
||||||
run: |
|
|
||||||
cd docs
|
|
||||||
bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
|
|
||||||
env:
|
|
||||||
JEKYLL_ENV: production
|
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-pages-artifact@v3
|
|
||||||
with:
|
|
||||||
path: docs/_site
|
|
||||||
|
|
||||||
# デプロイジョブ
|
|
||||||
deploy:
|
|
||||||
environment:
|
|
||||||
name: github-pages
|
|
||||||
url: ${{ steps.deployment.outputs.page_url }}
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Deploy to GitHub Pages
|
|
||||||
id: deployment
|
|
||||||
uses: actions/deploy-pages@v4
|
|
||||||
|
|
||||||
- name: Notify deployment success
|
|
||||||
run: |
|
|
||||||
echo "🎉 サイトが正常にデプロイされました!"
|
|
||||||
echo "📍 URL: ${{ steps.deployment.outputs.page_url }}"
|
|
||||||
1319
GITHUB_COMPLETE_GUIDE.md
Normal file
1319
GITHUB_COMPLETE_GUIDE.md
Normal file
File diff suppressed because it is too large
Load diff
33
_config.yml
Normal file
33
_config.yml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# GitHub研究ツール - シンプル設定
|
||||||
|
|
||||||
|
title: "GitHub完全活用ガイド"
|
||||||
|
description: "外部ツールに依存せず、GitHub一つで開発業務を完結させるための網羅的解説書"
|
||||||
|
|
||||||
|
# GitHub Pages標準テーマ
|
||||||
|
theme: minima
|
||||||
|
|
||||||
|
# GitHub情報
|
||||||
|
github_username: marketing-shibata50
|
||||||
|
repository: marketing-shibata50/github-research-tool
|
||||||
|
|
||||||
|
# サイト設定
|
||||||
|
lang: ja
|
||||||
|
timezone: Asia/Tokyo
|
||||||
|
|
||||||
|
# プラグイン(GitHub Pages標準)
|
||||||
|
plugins:
|
||||||
|
- jekyll-feed
|
||||||
|
- jekyll-sitemap
|
||||||
|
|
||||||
|
# Markdown設定
|
||||||
|
markdown: kramdown
|
||||||
|
highlighter: rouge
|
||||||
|
|
||||||
|
# 除外ファイル
|
||||||
|
exclude:
|
||||||
|
- docs/
|
||||||
|
- practice-project/
|
||||||
|
- tools/
|
||||||
|
- examples/
|
||||||
|
- test
|
||||||
|
- README.md
|
||||||
413
features/01-repository-basics.md
Normal file
413
features/01-repository-basics.md
Normal file
|
|
@ -0,0 +1,413 @@
|
||||||
|
# 📁 GitHub リポジトリ基礎
|
||||||
|
|
||||||
|
GitHubリポジトリの基本的な機能と操作方法を網羅的に解説します。
|
||||||
|
|
||||||
|
## 🎯 学習目標
|
||||||
|
|
||||||
|
- リポジトリの作成から管理まで一連の操作をマスター
|
||||||
|
- ブランチ戦略の理解と実践
|
||||||
|
- タグとリリースの効果的な活用
|
||||||
|
- 外部ツールとの違いを理解
|
||||||
|
|
||||||
|
## 📚 目次
|
||||||
|
|
||||||
|
1. [リポジトリ作成・初期設定](#1-リポジトリ作成初期設定)
|
||||||
|
2. [ブランチ管理](#2-ブランチ管理)
|
||||||
|
3. [コミット管理](#3-コミット管理)
|
||||||
|
4. [タグ・リリース管理](#4-タグリリース管理)
|
||||||
|
5. [リポジトリ設定](#5-リポジトリ設定)
|
||||||
|
6. [外部ツールとの比較](#6-外部ツールとの比較)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. リポジトリ作成・初期設定
|
||||||
|
|
||||||
|
### 🚀 新規リポジトリ作成
|
||||||
|
|
||||||
|
#### Web UIでの作成
|
||||||
|
```markdown
|
||||||
|
1. GitHub.com にログイン
|
||||||
|
2. 右上の「+」→「New repository」
|
||||||
|
3. 必要な設定を入力:
|
||||||
|
- Repository name: プロジェクト名
|
||||||
|
- Description: プロジェクトの説明
|
||||||
|
- Public/Private: 公開範囲
|
||||||
|
- README: 初期化オプション
|
||||||
|
- .gitignore: 言語・フレームワーク選択
|
||||||
|
- License: ライセンス選択
|
||||||
|
```
|
||||||
|
|
||||||
|
#### CLI (GitHub CLI) での作成
|
||||||
|
```bash
|
||||||
|
# 基本的なリポジトリ作成
|
||||||
|
gh repo create my-project --public --description "プロジェクトの説明"
|
||||||
|
|
||||||
|
# README、.gitignore、ライセンス付きで作成
|
||||||
|
gh repo create my-project --public --add-readme --gitignore Node --license MIT
|
||||||
|
|
||||||
|
# ローカルディレクトリから作成
|
||||||
|
gh repo create --source=. --public --push
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🔧 初期設定のベストプラクティス
|
||||||
|
|
||||||
|
#### 1. README.md の充実
|
||||||
|
```markdown
|
||||||
|
# プロジェクト名
|
||||||
|
|
||||||
|
## 概要
|
||||||
|
プロジェクトの目的と機能の簡潔な説明
|
||||||
|
|
||||||
|
## インストール
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
基本的な使い方のサンプル
|
||||||
|
|
||||||
|
## 貢献方法
|
||||||
|
コントリビューションガイドライン
|
||||||
|
|
||||||
|
## ライセンス
|
||||||
|
ライセンス情報
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2. .gitignore の設定
|
||||||
|
```bash
|
||||||
|
# GitHub提供のテンプレートを使用
|
||||||
|
curl -s https://api.github.com/gitignore/templates/Node > .gitignore
|
||||||
|
|
||||||
|
# 独自の設定を追加
|
||||||
|
echo "# Custom ignores
|
||||||
|
*.log
|
||||||
|
.env.local
|
||||||
|
dist/" >> .gitignore
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. ブランチ管理
|
||||||
|
|
||||||
|
### 🌳 ブランチ戦略
|
||||||
|
|
||||||
|
#### Git Flow
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
A[main] --> B[develop]
|
||||||
|
B --> C[feature/login]
|
||||||
|
B --> D[feature/payment]
|
||||||
|
C --> B
|
||||||
|
D --> B
|
||||||
|
B --> E[release/v1.0]
|
||||||
|
E --> A
|
||||||
|
E --> B
|
||||||
|
A --> F[hotfix/security-fix]
|
||||||
|
F --> A
|
||||||
|
F --> B
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub Flow (推奨)
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
A[main] --> B[feature/new-component]
|
||||||
|
B --> C[Pull Request]
|
||||||
|
C --> D[Code Review]
|
||||||
|
D --> E[Merge to main]
|
||||||
|
E --> F[Deploy]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📋 ブランチ操作
|
||||||
|
|
||||||
|
#### ローカルでのブランチ作成
|
||||||
|
```bash
|
||||||
|
# 新しいブランチを作成して切り替え
|
||||||
|
git checkout -b feature/user-authentication
|
||||||
|
|
||||||
|
# または(Git 2.23以降)
|
||||||
|
git switch -c feature/user-authentication
|
||||||
|
|
||||||
|
# リモートにプッシュ
|
||||||
|
git push -u origin feature/user-authentication
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub Web UIでのブランチ作成
|
||||||
|
```markdown
|
||||||
|
1. リポジトリページで「main」ブランチ選択部分をクリック
|
||||||
|
2. 新しいブランチ名を入力
|
||||||
|
3. 「Create branch: branch-name from main」をクリック
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub CLI でのブランチ作成
|
||||||
|
```bash
|
||||||
|
# ブランチ作成とチェックアウト
|
||||||
|
gh repo fork --clone
|
||||||
|
cd repository-name
|
||||||
|
git checkout -b feature/new-feature
|
||||||
|
|
||||||
|
# 変更をプッシュ
|
||||||
|
git push origin feature/new-feature
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🛡️ ブランチ保護設定
|
||||||
|
|
||||||
|
#### main ブランチの保護
|
||||||
|
```markdown
|
||||||
|
1. Settings → Branches
|
||||||
|
2. 「Add rule」をクリック
|
||||||
|
3. Branch name pattern: `main`
|
||||||
|
4. 設定項目:
|
||||||
|
✅ Require a pull request before merging
|
||||||
|
✅ Require approvals (推奨: 1人以上)
|
||||||
|
✅ Dismiss stale PR approvals when new commits are pushed
|
||||||
|
✅ Require status checks to pass before merging
|
||||||
|
✅ Require branches to be up to date before merging
|
||||||
|
✅ Require conversation resolution before merging
|
||||||
|
✅ Restrict pushes that create files larger than 100MB
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. コミット管理
|
||||||
|
|
||||||
|
### 📝 効果的なコミットメッセージ
|
||||||
|
|
||||||
|
#### Conventional Commits 形式
|
||||||
|
```bash
|
||||||
|
# 形式: <type>[optional scope]: <description>
|
||||||
|
|
||||||
|
git commit -m "feat(auth): add user authentication system"
|
||||||
|
git commit -m "fix(api): resolve timeout issue in user endpoint"
|
||||||
|
git commit -m "docs: update README with installation guide"
|
||||||
|
git commit -m "refactor(utils): simplify date formatting function"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### タイプ一覧
|
||||||
|
- `feat`: 新機能
|
||||||
|
- `fix`: バグ修正
|
||||||
|
- `docs`: ドキュメント変更
|
||||||
|
- `style`: コードスタイル変更(機能に影響なし)
|
||||||
|
- `refactor`: リファクタリング
|
||||||
|
- `test`: テスト追加・修正
|
||||||
|
- `chore`: ビルド・設定ファイル変更
|
||||||
|
|
||||||
|
### 🔍 コミット履歴の管理
|
||||||
|
|
||||||
|
#### 履歴の確認
|
||||||
|
```bash
|
||||||
|
# グラフィカルな履歴表示
|
||||||
|
git log --graph --oneline --all
|
||||||
|
|
||||||
|
# 特定のファイルの履歴
|
||||||
|
git log --follow -- path/to/file
|
||||||
|
|
||||||
|
# GitHub CLI での履歴確認
|
||||||
|
gh repo view --web
|
||||||
|
```
|
||||||
|
|
||||||
|
#### コミットの修正
|
||||||
|
```bash
|
||||||
|
# 最後のコミットメッセージを修正
|
||||||
|
git commit --amend -m "corrected commit message"
|
||||||
|
|
||||||
|
# 複数のコミットを整理(インタラクティブリベース)
|
||||||
|
git rebase -i HEAD~3
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. タグ・リリース管理
|
||||||
|
|
||||||
|
### 🏷️ タグの作成と管理
|
||||||
|
|
||||||
|
#### セマンティックバージョニング
|
||||||
|
```bash
|
||||||
|
# アノテートタグの作成
|
||||||
|
git tag -a v1.0.0 -m "Version 1.0.0 - Initial release"
|
||||||
|
|
||||||
|
# ライトウェイトタグの作成
|
||||||
|
git tag v1.0.1
|
||||||
|
|
||||||
|
# タグをリモートにプッシュ
|
||||||
|
git push origin v1.0.0
|
||||||
|
|
||||||
|
# すべてのタグをプッシュ
|
||||||
|
git push origin --tags
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub CLI でのタグ作成
|
||||||
|
```bash
|
||||||
|
# タグ作成とリリース同時作成
|
||||||
|
gh release create v1.0.0 --title "Version 1.0.0" --notes "初回リリース"
|
||||||
|
|
||||||
|
# プレリリース作成
|
||||||
|
gh release create v1.1.0-beta --prerelease --title "Beta Release" --notes "ベータ版"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📦 リリース管理
|
||||||
|
|
||||||
|
#### GitHub Releases の活用
|
||||||
|
```markdown
|
||||||
|
1. リポジトリページ → Releases → Create a new release
|
||||||
|
2. 設定項目:
|
||||||
|
- Tag version: v1.0.0
|
||||||
|
- Release title: Version 1.0.0 - New Features
|
||||||
|
- Description: リリースノート(変更点、新機能など)
|
||||||
|
- Attach binaries: ビルド成果物のアップロード
|
||||||
|
- Pre-release: ベータ版の場合はチェック
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 自動リリースノート生成
|
||||||
|
```yaml
|
||||||
|
# .github/release.yml
|
||||||
|
changelog:
|
||||||
|
exclude:
|
||||||
|
labels:
|
||||||
|
- ignore-for-release
|
||||||
|
categories:
|
||||||
|
- title: Breaking Changes 🛠
|
||||||
|
labels:
|
||||||
|
- Semver-Major
|
||||||
|
- breaking-change
|
||||||
|
- title: Exciting New Features 🎉
|
||||||
|
labels:
|
||||||
|
- Semver-Minor
|
||||||
|
- enhancement
|
||||||
|
- title: Bug Fixes 🐛
|
||||||
|
labels:
|
||||||
|
- Semver-Patch
|
||||||
|
- bug
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. リポジトリ設定
|
||||||
|
|
||||||
|
### ⚙️ 一般設定
|
||||||
|
|
||||||
|
#### 基本情報の設定
|
||||||
|
```markdown
|
||||||
|
Settings → General:
|
||||||
|
- Repository name: 名前変更
|
||||||
|
- Description: 説明文
|
||||||
|
- Website: プロジェクトURL
|
||||||
|
- Topics: 検索用タグ
|
||||||
|
- Include in the home page: 個人ページでの表示設定
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 機能の有効/無効
|
||||||
|
```markdown
|
||||||
|
Features:
|
||||||
|
✅ Wikis: プロジェクトドキュメント
|
||||||
|
✅ Issues: バグ報告・機能要望
|
||||||
|
✅ Sponsorships: スポンサー機能
|
||||||
|
✅ Preserve this repository: アーカイブ設定
|
||||||
|
✅ Discussions: コミュニティディスカッション
|
||||||
|
|
||||||
|
Pull Requests:
|
||||||
|
✅ Allow merge commits
|
||||||
|
✅ Allow squash merging
|
||||||
|
✅ Allow rebase merging
|
||||||
|
✅ Always suggest updating pull request branches
|
||||||
|
✅ Automatically delete head branches
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🔐 セキュリティ設定
|
||||||
|
|
||||||
|
#### セキュリティ機能の有効化
|
||||||
|
```markdown
|
||||||
|
Settings → Security:
|
||||||
|
✅ Dependency graph: 依存関係の可視化
|
||||||
|
✅ Dependabot alerts: 脆弱性アラート
|
||||||
|
✅ Dependabot security updates: 自動セキュリティアップデート
|
||||||
|
✅ Dependabot version updates: 依存関係の自動更新
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 外部ツールとの比較
|
||||||
|
|
||||||
|
### 📊 機能比較表
|
||||||
|
|
||||||
|
| 機能 | GitHub | GitLab | Bitbucket | SVN | 備考 |
|
||||||
|
|------|--------|--------|-----------|-----|------|
|
||||||
|
| リポジトリホスティング | ✅ | ✅ | ✅ | ❌ | GitHubは最大規模 |
|
||||||
|
| ブランチ管理 | ✅ | ✅ | ✅ | ❌ | SVNはtrunk/branches |
|
||||||
|
| タグ・リリース | ✅ | ✅ | ✅ | ✅ | GitHubのReleasesが最も充実 |
|
||||||
|
| Web UI | ✅ | ✅ | ✅ | ❌ | GitHubが最もユーザーフレンドリー |
|
||||||
|
| CLI ツール | ✅ | ✅ | ❌ | ❌ | GitHub CLIが最も強力 |
|
||||||
|
| ブランチ保護 | ✅ | ✅ | ✅ | ❌ | セキュリティルールの充実度 |
|
||||||
|
|
||||||
|
### 🔄 移行時のポイント
|
||||||
|
|
||||||
|
#### SVN → Git 移行
|
||||||
|
```bash
|
||||||
|
# SVNリポジトリをGitに変換
|
||||||
|
git svn clone http://svn.example.com/project
|
||||||
|
|
||||||
|
# GitHubリポジトリを作成
|
||||||
|
gh repo create migrated-project --public
|
||||||
|
|
||||||
|
# コードをプッシュ
|
||||||
|
git remote add origin https://github.com/username/migrated-project.git
|
||||||
|
git push -u origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 他のGitホスティングサービスからの移行
|
||||||
|
```bash
|
||||||
|
# 既存リポジトリをクローン
|
||||||
|
git clone --mirror https://gitlab.com/user/old-repo.git
|
||||||
|
|
||||||
|
# GitHubに新しいリポジトリを作成
|
||||||
|
gh repo create new-repo --public
|
||||||
|
|
||||||
|
# ミラーをプッシュ
|
||||||
|
cd old-repo.git
|
||||||
|
git remote set-url origin https://github.com/user/new-repo.git
|
||||||
|
git push --mirror
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎓 実践演習
|
||||||
|
|
||||||
|
### 演習1: リポジトリ作成から保護設定まで
|
||||||
|
1. 新しいリポジトリを作成
|
||||||
|
2. README、.gitignore、ライセンスを設定
|
||||||
|
3. developブランチを作成
|
||||||
|
4. main ブランチに保護ルールを設定
|
||||||
|
|
||||||
|
### 演習2: ブランチ戦略の実践
|
||||||
|
1. feature ブランチを作成
|
||||||
|
2. 機能を実装してコミット
|
||||||
|
3. プルリクエストを作成
|
||||||
|
4. マージ後のブランチクリーンアップ
|
||||||
|
|
||||||
|
### 演習3: リリース管理
|
||||||
|
1. セマンティックバージョンでタグ作成
|
||||||
|
2. リリースノートを作成
|
||||||
|
3. バイナリファイルの添付
|
||||||
|
4. 自動リリースノート設定
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 関連リソース
|
||||||
|
|
||||||
|
- [GitHub Docs - Repositories](https://docs.github.com/en/repositories)
|
||||||
|
- [GitHub CLI Manual](https://cli.github.com/manual/)
|
||||||
|
- [Git Documentation](https://git-scm.com/doc)
|
||||||
|
- [Semantic Versioning](https://semver.org/)
|
||||||
|
- [Conventional Commits](https://www.conventionalcommits.org/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 まとめ
|
||||||
|
|
||||||
|
GitHub リポジトリの基本機能をマスターすることで:
|
||||||
|
|
||||||
|
✅ **効率的なコード管理** - ブランチ戦略によるチーム開発の最適化
|
||||||
|
✅ **品質保証** - ブランチ保護とレビュープロセスによる品質維持
|
||||||
|
✅ **リリース管理** - タグとリリース機能による体系的なバージョン管理
|
||||||
|
✅ **セキュリティ** - 適切な設定による安全なコード管理
|
||||||
|
|
||||||
|
次は[Issue管理編](02-issues-management.md)で、プロジェクト管理の基礎を学習しましょう。
|
||||||
593
features/02-issues-management.md
Normal file
593
features/02-issues-management.md
Normal file
|
|
@ -0,0 +1,593 @@
|
||||||
|
# 🎫 GitHub Issues 管理
|
||||||
|
|
||||||
|
GitHub Issuesを活用したプロジェクト管理とタスク追跡の完全ガイド。外部のプロジェクト管理ツールを使わずに、効率的な開発プロセスを構築する方法を学習します。
|
||||||
|
|
||||||
|
## 🎯 学習目標
|
||||||
|
|
||||||
|
- Issuesを使った効果的なタスク管理
|
||||||
|
- ラベル・マイルストーン・プロジェクトとの連携
|
||||||
|
- テンプレートによる標準化
|
||||||
|
- 自動化による効率向上
|
||||||
|
- 外部ツール(Jira等)との比較理解
|
||||||
|
|
||||||
|
## 📚 目次
|
||||||
|
|
||||||
|
1. [Issues基本操作](#1-issues基本操作)
|
||||||
|
2. [ラベル管理](#2-ラベル管理)
|
||||||
|
3. [マイルストーン管理](#3-マイルストーン管理)
|
||||||
|
4. [Issueテンプレート](#4-issueテンプレート)
|
||||||
|
5. [プロジェクトとの連携](#5-プロジェクトとの連携)
|
||||||
|
6. [自動化・効率化](#6-自動化効率化)
|
||||||
|
7. [外部ツールとの比較](#7-外部ツールとの比較)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Issues基本操作
|
||||||
|
|
||||||
|
### 📝 Issue作成
|
||||||
|
|
||||||
|
#### Web UIでの作成
|
||||||
|
```markdown
|
||||||
|
1. リポジトリページ → Issues → New issue
|
||||||
|
2. 入力項目:
|
||||||
|
- Title: 簡潔で分かりやすいタイトル
|
||||||
|
- Comment: 詳細な説明(Markdown記法使用可能)
|
||||||
|
- Assignees: 担当者の指定
|
||||||
|
- Labels: 分類用ラベル
|
||||||
|
- Projects: 関連プロジェクト
|
||||||
|
- Milestone: 対象マイルストーン
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub CLI での作成
|
||||||
|
```bash
|
||||||
|
# 基本的なIssue作成
|
||||||
|
gh issue create --title "バグ修正: ログイン機能が動作しない" --body "ログインボタンをクリックしても反応がない"
|
||||||
|
|
||||||
|
# テンプレートを使用してIssue作成
|
||||||
|
gh issue create --template bug_report.md
|
||||||
|
|
||||||
|
# ラベルと担当者を指定
|
||||||
|
gh issue create --title "新機能: ユーザープロフィール" --label "enhancement,frontend" --assignee username
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🔍 Issue検索・フィルタリング
|
||||||
|
|
||||||
|
#### 高度な検索クエリ
|
||||||
|
```bash
|
||||||
|
# オープンなIssuesのみ
|
||||||
|
is:open is:issue
|
||||||
|
|
||||||
|
# 自分が担当のIssues
|
||||||
|
is:issue assignee:@me
|
||||||
|
|
||||||
|
# 特定のラベルが付いたIssues
|
||||||
|
is:issue label:bug
|
||||||
|
|
||||||
|
# 複数条件の組み合わせ
|
||||||
|
is:issue is:open label:enhancement assignee:username
|
||||||
|
|
||||||
|
# 作成日でフィルタ
|
||||||
|
is:issue created:>2024-01-01
|
||||||
|
|
||||||
|
# コメント数でフィルタ
|
||||||
|
is:issue comments:>5
|
||||||
|
|
||||||
|
# マイルストーンでフィルタ
|
||||||
|
is:issue milestone:"Version 2.0"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### GitHub CLI での検索
|
||||||
|
```bash
|
||||||
|
# オープンなバグIssuesを表示
|
||||||
|
gh issue list --label bug --state open
|
||||||
|
|
||||||
|
# 自分が担当のIssuesを表示
|
||||||
|
gh issue list --assignee @me
|
||||||
|
|
||||||
|
# JSONで出力(スクリプト処理用)
|
||||||
|
gh issue list --json number,title,labels,assignees
|
||||||
|
```
|
||||||
|
|
||||||
|
### 💬 Issue管理
|
||||||
|
|
||||||
|
#### コメントとやり取り
|
||||||
|
```markdown
|
||||||
|
# メンション機能
|
||||||
|
@username こちらの件、確認をお願いします。
|
||||||
|
|
||||||
|
# 他のIssue参照
|
||||||
|
この問題は #123 と関連があります。
|
||||||
|
|
||||||
|
# コミット参照
|
||||||
|
この修正は a1b2c3d で対応済みです。
|
||||||
|
|
||||||
|
# PR参照
|
||||||
|
修正は #45 で対応中です。
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Issue状態管理
|
||||||
|
```bash
|
||||||
|
# CLI でIssueをクローズ
|
||||||
|
gh issue close 123 --comment "修正が完了しました"
|
||||||
|
|
||||||
|
# 理由を指定してクローズ
|
||||||
|
gh issue close 123 --reason "completed" # または "not planned"
|
||||||
|
|
||||||
|
# Issueを再オープン
|
||||||
|
gh issue reopen 123
|
||||||
|
|
||||||
|
# 担当者を変更
|
||||||
|
gh issue edit 123 --add-assignee newuser --remove-assignee olduser
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. ラベル管理
|
||||||
|
|
||||||
|
### 🏷️ 効果的なラベル体系
|
||||||
|
|
||||||
|
#### 推奨ラベル構成
|
||||||
|
```yaml
|
||||||
|
# 種類別(Type)
|
||||||
|
- bug: バグ報告
|
||||||
|
- enhancement: 新機能・改善
|
||||||
|
- documentation: ドキュメント関連
|
||||||
|
- question: 質問・サポート
|
||||||
|
- duplicate: 重複Issue
|
||||||
|
|
||||||
|
# 優先度別(Priority)
|
||||||
|
- priority:high: 緊急度高
|
||||||
|
- priority:medium: 通常優先度
|
||||||
|
- priority:low: 低優先度
|
||||||
|
|
||||||
|
# 状態別(Status)
|
||||||
|
- status:ready: 作業可能
|
||||||
|
- status:in-progress: 作業中
|
||||||
|
- status:blocked: ブロックされている
|
||||||
|
- status:review: レビュー待ち
|
||||||
|
|
||||||
|
# 領域別(Area)
|
||||||
|
- area:frontend: フロントエンド
|
||||||
|
- area:backend: バックエンド
|
||||||
|
- area:api: API関連
|
||||||
|
- area:ui-ux: UI/UX
|
||||||
|
- area:performance: パフォーマンス
|
||||||
|
- area:security: セキュリティ
|
||||||
|
|
||||||
|
# サイズ別(Effort)
|
||||||
|
- size:small: 小規模(1-2日)
|
||||||
|
- size:medium: 中規模(3-5日)
|
||||||
|
- size:large: 大規模(1週間以上)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### ラベル作成と管理
|
||||||
|
```bash
|
||||||
|
# GitHub CLI でラベル作成
|
||||||
|
gh label create "priority:high" --color "FF0000" --description "緊急度の高いタスク"
|
||||||
|
|
||||||
|
# 既存ラベルの編集
|
||||||
|
gh label edit "bug" --color "FF6B6B" --description "バグ報告"
|
||||||
|
|
||||||
|
# ラベル一覧表示
|
||||||
|
gh label list
|
||||||
|
|
||||||
|
# ラベル削除
|
||||||
|
gh label delete "outdated-label"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 🎨 ラベルの色分けとベストプラクティス
|
||||||
|
|
||||||
|
#### 色分けの推奨方式
|
||||||
|
```markdown
|
||||||
|
🔴 高優先度・緊急: #FF0000 (赤)
|
||||||
|
🟠 中優先度: #FFA500 (オレンジ)
|
||||||
|
🟡 低優先度: #FFFF00 (黄)
|
||||||
|
🟢 完了・承認: #00FF00 (緑)
|
||||||
|
🔵 情報・質問: #0000FF (青)
|
||||||
|
🟣 進行中: #800080 (紫)
|
||||||
|
⚫ ブロック・問題: #000000 (黒)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. マイルストーン管理
|
||||||
|
|
||||||
|
### 🎯 マイルストーンの設計
|
||||||
|
|
||||||
|
#### 効果的なマイルストーン例
|
||||||
|
```markdown
|
||||||
|
# バージョンベース
|
||||||
|
- v1.0.0 - 初回リリース (2024-03-01)
|
||||||
|
- v1.1.0 - 機能追加 (2024-04-15)
|
||||||
|
- v2.0.0 - メジャーアップデート (2024-06-30)
|
||||||
|
|
||||||
|
# 機能ベース
|
||||||
|
- User Authentication System
|
||||||
|
- Payment Integration
|
||||||
|
- Mobile App Support
|
||||||
|
|
||||||
|
# 時期ベース
|
||||||
|
- Q1 2024 Goals
|
||||||
|
- Summer Release
|
||||||
|
- Year-end Cleanup
|
||||||
|
```
|
||||||
|
|
||||||
|
#### マイルストーン作成と管理
|
||||||
|
```bash
|
||||||
|
# マイルストーン作成
|
||||||
|
gh issue create-milestone "v1.0.0" --description "初回リリース" --due-date "2024-03-01"
|
||||||
|
|
||||||
|
# マイルストーン一覧
|
||||||
|
gh issue list-milestones
|
||||||
|
|
||||||
|
# Issueをマイルストーンに割り当て
|
||||||
|
gh issue edit 123 --milestone "v1.0.0"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📊 進捗管理
|
||||||
|
|
||||||
|
#### マイルストーン進捗の可視化
|
||||||
|
```markdown
|
||||||
|
# マイルストーンページで確認できる情報:
|
||||||
|
- 全体の進捗率(パーセンテージ)
|
||||||
|
- オープン・クローズされたIssue数
|
||||||
|
- 期限までの残り時間
|
||||||
|
- 各Issueの状態
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Issueテンプレート
|
||||||
|
|
||||||
|
### 📄 テンプレート作成
|
||||||
|
|
||||||
|
#### バグ報告テンプレート
|
||||||
|
```yaml
|
||||||
|
# .github/ISSUE_TEMPLATE/bug_report.yml
|
||||||
|
name: 🐛 バグ報告
|
||||||
|
description: バグを報告するためのテンプレート
|
||||||
|
title: "[BUG] "
|
||||||
|
labels: ["bug", "needs-triage"]
|
||||||
|
assignees:
|
||||||
|
- maintainer-username
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
バグを報告いただき、ありがとうございます。以下の情報を詳しく記入してください。
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: bug-description
|
||||||
|
attributes:
|
||||||
|
label: 🐛 バグの説明
|
||||||
|
description: バグの詳細な説明を記入してください
|
||||||
|
placeholder: 何が起こっているか、期待される動作との違いを説明
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: reproduction-steps
|
||||||
|
attributes:
|
||||||
|
label: 🔄 再現手順
|
||||||
|
description: バグを再現する手順を記入してください
|
||||||
|
placeholder: |
|
||||||
|
1. ○○のページに移動
|
||||||
|
2. ○○をクリック
|
||||||
|
3. ○○を入力
|
||||||
|
4. エラーが発生
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: ✅ 期待される動作
|
||||||
|
description: 本来はどのような動作を期待していましたか?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: environment
|
||||||
|
attributes:
|
||||||
|
label: 🖥️ 環境情報
|
||||||
|
description: 環境に関する情報
|
||||||
|
placeholder: |
|
||||||
|
- OS: [例: Windows 10, macOS 13.0, Ubuntu 20.04]
|
||||||
|
- ブラウザ: [例: Chrome 108, Firefox 107, Safari 16]
|
||||||
|
- バージョン: [例: v1.2.3]
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: 📋 追加情報
|
||||||
|
description: スクリーンショット、ログ、その他関連情報があれば記入してください
|
||||||
|
placeholder: エラーメッセージ、スクリーンショットなど
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 機能要求テンプレート
|
||||||
|
```yaml
|
||||||
|
# .github/ISSUE_TEMPLATE/feature_request.yml
|
||||||
|
name: ✨ 機能要求
|
||||||
|
description: 新機能や改善の要求
|
||||||
|
title: "[FEATURE] "
|
||||||
|
labels: ["enhancement", "needs-discussion"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
新機能の提案をありがとうございます!
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: problem-description
|
||||||
|
attributes:
|
||||||
|
label: 🎯 解決したい問題
|
||||||
|
description: この機能によってどのような問題を解決したいですか?
|
||||||
|
placeholder: 現在困っていることや、改善したい点を説明してください
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: proposed-solution
|
||||||
|
attributes:
|
||||||
|
label: 💡 提案する解決策
|
||||||
|
description: どのような機能や改善を提案しますか?
|
||||||
|
placeholder: 具体的な機能の説明や実装案があれば記入してください
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: alternatives
|
||||||
|
attributes:
|
||||||
|
label: 🔄 代替案
|
||||||
|
description: 他に考えられる解決策があれば記入してください
|
||||||
|
placeholder: 別のアプローチや既存の回避策など
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: 📋 追加情報
|
||||||
|
description: 参考資料、モックアップ、外部リンクなど
|
||||||
|
placeholder: 関連するリンクやファイルがあれば記入してください
|
||||||
|
```
|
||||||
|
|
||||||
|
### ⚙️ テンプレート設定
|
||||||
|
|
||||||
|
#### 設定ファイルの作成
|
||||||
|
```yaml
|
||||||
|
# .github/ISSUE_TEMPLATE/config.yml
|
||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: 💬 Q&A ディスカッション
|
||||||
|
url: https://github.com/username/repo/discussions
|
||||||
|
about: 質問がある場合はこちらをご利用ください
|
||||||
|
- name: 📖 ドキュメント
|
||||||
|
url: https://docs.example.com
|
||||||
|
about: 使い方やAPIドキュメントはこちら
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. プロジェクトとの連携
|
||||||
|
|
||||||
|
### 📋 GitHub Projects 連携
|
||||||
|
|
||||||
|
#### Issueの自動プロジェクト追加
|
||||||
|
```yaml
|
||||||
|
# .github/workflows/add-to-project.yml
|
||||||
|
name: Add Issue to Project
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
add-to-project:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/add-to-project@v0.4.0
|
||||||
|
with:
|
||||||
|
project-url: https://github.com/users/username/projects/1
|
||||||
|
github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### ラベルベースの自動ワークフロー
|
||||||
|
```yaml
|
||||||
|
# ラベルに応じて列を移動
|
||||||
|
name: Move Issue Based on Label
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [labeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
move-issue:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.label.name == 'in-progress'
|
||||||
|
steps:
|
||||||
|
- name: Move to In Progress
|
||||||
|
uses: leonsteinhaeuser/project-beta-automations@v2.0.1
|
||||||
|
with:
|
||||||
|
gh_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
user: username
|
||||||
|
project_id: 1
|
||||||
|
resource_node_id: ${{ github.event.issue.node_id }}
|
||||||
|
status_value: "In Progress"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 自動化・効率化
|
||||||
|
|
||||||
|
### 🤖 GitHub Actions による自動化
|
||||||
|
|
||||||
|
#### Issue自動ラベリング
|
||||||
|
```yaml
|
||||||
|
# .github/workflows/label-issues.yml
|
||||||
|
name: Auto Label Issues
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
label:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/labeler@v4
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
configuration-path: .github/labeler.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# .github/labeler.yml
|
||||||
|
"area:frontend":
|
||||||
|
- "**/*.js"
|
||||||
|
- "**/*.vue"
|
||||||
|
- "**/*.css"
|
||||||
|
|
||||||
|
"area:backend":
|
||||||
|
- "**/*.py"
|
||||||
|
- "**/*.go"
|
||||||
|
- "**/*.java"
|
||||||
|
|
||||||
|
"documentation":
|
||||||
|
- "**/*.md"
|
||||||
|
- "docs/**/*"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 古いIssueの自動クローズ
|
||||||
|
```yaml
|
||||||
|
# .github/workflows/stale-issues.yml
|
||||||
|
name: Close Stale Issues
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * 0' # 毎週日曜日
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v8
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
stale-issue-message: |
|
||||||
|
このIssueは60日間活動がありません。
|
||||||
|
7日以内に活動がない場合、自動的にクローズされます。
|
||||||
|
close-issue-message: |
|
||||||
|
このIssueは非アクティブのため自動的にクローズされました。
|
||||||
|
days-before-stale: 60
|
||||||
|
days-before-close: 7
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📊 Issue分析・レポート
|
||||||
|
|
||||||
|
#### CLI による統計取得
|
||||||
|
```bash
|
||||||
|
# Issue統計を取得するスクリプト
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "=== Issue Statistics ==="
|
||||||
|
echo "Total Issues: $(gh issue list --limit 1000 --json number | jq length)"
|
||||||
|
echo "Open Issues: $(gh issue list --state open --limit 1000 --json number | jq length)"
|
||||||
|
echo "Closed Issues: $(gh issue list --state closed --limit 1000 --json number | jq length)"
|
||||||
|
|
||||||
|
echo -e "\n=== Issues by Label ==="
|
||||||
|
gh issue list --limit 1000 --json labels | jq -r '.[].labels[].name' | sort | uniq -c | sort -nr
|
||||||
|
|
||||||
|
echo -e "\n=== Issues by Assignee ==="
|
||||||
|
gh issue list --limit 1000 --json assignees | jq -r '.[].assignees[].login' | sort | uniq -c | sort -nr
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 外部ツールとの比較
|
||||||
|
|
||||||
|
### 📊 機能比較表
|
||||||
|
|
||||||
|
| 機能 | GitHub Issues | Jira | Trello | Linear | 備考 |
|
||||||
|
|------|---------------|------|--------|--------|------|
|
||||||
|
| 基本的なIssue管理 | ✅ | ✅ | ✅ | ✅ | 全て対応 |
|
||||||
|
| カスタムフィールド | ❌ | ✅ | ❌ | ✅ | GitHubはラベルで代用 |
|
||||||
|
| ワークフロー管理 | ⚠️ | ✅ | ⚠️ | ✅ | GitHubはActionsで実現 |
|
||||||
|
| 時間トラッキング | ❌ | ✅ | ⚠️ | ✅ | 外部サービス連携が必要 |
|
||||||
|
| レポート機能 | ⚠️ | ✅ | ❌ | ✅ | APIやInsightsを活用 |
|
||||||
|
| マイルストーン | ✅ | ✅ | ❌ | ✅ | GitHubのマイルストーン機能 |
|
||||||
|
| サブタスク | ❌ | ✅ | ✅ | ✅ | GitHubはタスクリストで代用 |
|
||||||
|
| コード連携 | ✅ | ⚠️ | ❌ | ⚠️ | GitHubが最も強力 |
|
||||||
|
| コスト | 無料〜 | 有料 | 無料〜 | 有料 | GitHubがコスト効率良い |
|
||||||
|
|
||||||
|
### 🔄 Jira からの移行
|
||||||
|
|
||||||
|
#### 移行チェックリスト
|
||||||
|
```markdown
|
||||||
|
✅ Issue種別 → ラベルでの分類方法決定
|
||||||
|
✅ ワークフロー → GitHub Projects V2 での再現
|
||||||
|
✅ カスタムフィールド → ラベルやマイルストーンでの代替
|
||||||
|
✅ レポート → GitHub API + スクリプトでの実現
|
||||||
|
✅ 時間管理 → 外部サービス連携の検討
|
||||||
|
✅ 権限管理 → リポジトリレベルでの設定調整
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 移行スクリプト例
|
||||||
|
```python
|
||||||
|
# jira_to_github.py
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
def migrate_issues(jira_url, github_repo, token):
|
||||||
|
# Jira API からIssue取得
|
||||||
|
jira_issues = fetch_jira_issues(jira_url)
|
||||||
|
|
||||||
|
for issue in jira_issues:
|
||||||
|
# GitHub Issue 形式に変換
|
||||||
|
github_issue = {
|
||||||
|
'title': issue['fields']['summary'],
|
||||||
|
'body': convert_description(issue['fields']['description']),
|
||||||
|
'labels': map_jira_labels(issue['fields']['labels'])
|
||||||
|
}
|
||||||
|
|
||||||
|
# GitHub API でIssue作成
|
||||||
|
create_github_issue(github_repo, github_issue, token)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎓 実践演習
|
||||||
|
|
||||||
|
### 演習1: Issue管理システム構築
|
||||||
|
1. バグ報告と機能要求のテンプレートを作成
|
||||||
|
2. 体系的なラベル分類を設計
|
||||||
|
3. マイルストーンを設定してIssueを分類
|
||||||
|
|
||||||
|
### 演習2: 自動化ワークフロー作成
|
||||||
|
1. 新しいIssueの自動ラベリング設定
|
||||||
|
2. 古いIssueの自動クローズ設定
|
||||||
|
3. プロジェクトボードとの連携設定
|
||||||
|
|
||||||
|
### 演習3: レポート・分析
|
||||||
|
1. Issue統計取得スクリプトの作成
|
||||||
|
2. 進捗レポートの自動生成
|
||||||
|
3. チームパフォーマンス分析
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 関連リソース
|
||||||
|
|
||||||
|
- [GitHub Docs - Issues](https://docs.github.com/en/issues)
|
||||||
|
- [GitHub Issues Templates](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests)
|
||||||
|
- [GitHub Projects Documentation](https://docs.github.com/en/issues/planning-and-tracking-with-projects)
|
||||||
|
- [GitHub CLI Issues](https://cli.github.com/manual/gh_issue)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 まとめ
|
||||||
|
|
||||||
|
GitHub Issues を効果的に活用することで:
|
||||||
|
|
||||||
|
✅ **統一されたタスク管理** - 外部ツール不要でプロジェクト管理
|
||||||
|
✅ **コードとの密接な連携** - コミット・PRとのシームレスな連携
|
||||||
|
✅ **自動化による効率化** - GitHub Actions による作業自動化
|
||||||
|
✅ **コスト削減** - 有料ツールからの移行によるコスト最適化
|
||||||
|
✅ **チーム協調** - 透明性の高い情報共有とコミュニケーション
|
||||||
|
|
||||||
|
次は[Pull Request編](03-pull-requests.md)で、コードレビューとマージプロセスを学習しましょう。
|
||||||
261
index.md
Normal file
261
index.md
Normal file
|
|
@ -0,0 +1,261 @@
|
||||||
|
---
|
||||||
|
layout: home
|
||||||
|
title: "GitHub完全活用ガイド"
|
||||||
|
description: "外部ツールに依存せず、GitHub一つで開発業務を完結させるための網羅的解説書"
|
||||||
|
---
|
||||||
|
|
||||||
|
# 🚀 GitHub完全活用ガイド
|
||||||
|
|
||||||
|
> **GitHub機能を網羅的に理解し、開発プロセスを最適化するための実践的解説書**
|
||||||
|
|
||||||
|
<div class="hero-section">
|
||||||
|
<h2>🎯 このサイトで学べること</h2>
|
||||||
|
<div class="features-grid">
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>🔧 実務で使える設定</h3>
|
||||||
|
<p>すぐに実装できる設定例とベストプラクティス</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>💰 コスト削減</h3>
|
||||||
|
<p>外部ツール費用を年間37%削減する方法</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>📈 効率化</h3>
|
||||||
|
<p>開発フローを2倍高速化するワークフロー</p>
|
||||||
|
</div>
|
||||||
|
<div class="feature-card">
|
||||||
|
<h3>🛡️ セキュリティ</h3>
|
||||||
|
<p>企業レベルのセキュリティを無料で実現</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## 📚 メインコンテンツ
|
||||||
|
|
||||||
|
### 🎯 [完全活用ガイド](GITHUB_COMPLETE_GUIDE.html)
|
||||||
|
**GitHub機能の全体像から実装まで網羅した決定版ガイド**
|
||||||
|
- 全10章で構成された包括的な解説
|
||||||
|
- 実際のコード例とスクリーンショット付き
|
||||||
|
- 段階的な実装計画とチェックリスト
|
||||||
|
|
||||||
|
### 📖 機能別詳細ガイド
|
||||||
|
|
||||||
|
<div class="guide-links">
|
||||||
|
<a href="features/01-repository-basics.html" class="guide-link">
|
||||||
|
<h4>📁 リポジトリ基礎</h4>
|
||||||
|
<p>作成から保護設定まで基本操作をマスター</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="features/02-issues-management.html" class="guide-link">
|
||||||
|
<h4>🎫 Issues管理</h4>
|
||||||
|
<p>Jiraを完全代替するタスク管理システム</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="#" class="guide-link coming-soon">
|
||||||
|
<h4>🔄 Pull Request</h4>
|
||||||
|
<p>効率的なコードレビューフロー(準備中)</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="#" class="guide-link coming-soon">
|
||||||
|
<h4>📋 GitHub Projects</h4>
|
||||||
|
<p>アジャイル開発のためのプロジェクト管理(準備中)</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## 🎓 学習の進め方
|
||||||
|
|
||||||
|
### 初心者の方
|
||||||
|
1. **[リポジトリ基礎](features/01-repository-basics.html)** で基本操作を習得
|
||||||
|
2. **[Issues管理](features/02-issues-management.html)** でタスク管理を体験
|
||||||
|
3. **[完全ガイド](GITHUB_COMPLETE_GUIDE.html)** で全体像を把握
|
||||||
|
|
||||||
|
### 経験者の方
|
||||||
|
1. **[完全ガイド](GITHUB_COMPLETE_GUIDE.html)** で新機能をチェック
|
||||||
|
2. **外部ツール代替戦略** で移行計画を立案
|
||||||
|
3. **実務ケーススタディ** で最適な導入方法を選択
|
||||||
|
|
||||||
|
### チームリーダーの方
|
||||||
|
1. **コスト分析** で導入効果を試算
|
||||||
|
2. **段階的移行計画** でリスクを最小化
|
||||||
|
3. **実装チェックリスト** で確実な導入を実現
|
||||||
|
|
||||||
|
## 🎉 導入効果の実例
|
||||||
|
|
||||||
|
<div class="stats-section">
|
||||||
|
<div class="stat-item">
|
||||||
|
<h3>37%</h3>
|
||||||
|
<p>年間コスト削減</p>
|
||||||
|
</div>
|
||||||
|
<div class="stat-item">
|
||||||
|
<h3>2倍</h3>
|
||||||
|
<p>開発速度向上</p>
|
||||||
|
</div>
|
||||||
|
<div class="stat-item">
|
||||||
|
<h3>50%</h3>
|
||||||
|
<p>障害対応時間短縮</p>
|
||||||
|
</div>
|
||||||
|
<div class="stat-item">
|
||||||
|
<h3>85%</h3>
|
||||||
|
<p>Issue解決率向上</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
## 🔗 クイックスタート
|
||||||
|
|
||||||
|
すぐに始めたい方は、以下の手順で進めてください:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 新しいリポジトリを作成
|
||||||
|
gh repo create my-project --public
|
||||||
|
|
||||||
|
# 2. 基本設定を適用
|
||||||
|
git clone https://github.com/username/my-project
|
||||||
|
cd my-project
|
||||||
|
|
||||||
|
# 3. Issue管理を開始
|
||||||
|
gh issue create --title "プロジェクト初期設定" --body "GitHub機能の設定を開始"
|
||||||
|
```
|
||||||
|
|
||||||
|
詳細な手順は **[完全ガイド](GITHUB_COMPLETE_GUIDE.html)** をご覧ください。
|
||||||
|
|
||||||
|
## 📞 サポート・質問
|
||||||
|
|
||||||
|
- **GitHub Issues**: バグ報告・機能要望
|
||||||
|
- **GitHub Discussions**: 質問・アイデア共有
|
||||||
|
- **GitHub Wiki**: FAQ・トラブルシューティング
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="footer-cta">
|
||||||
|
<h2>🚀 今すぐ始めよう!</h2>
|
||||||
|
<p>GitHub一つで完結する開発環境を構築し、<br>生産性とコスト効率を劇的に改善しましょう。</p>
|
||||||
|
<a href="GITHUB_COMPLETE_GUIDE.html" class="cta-button">完全ガイドを読む</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* ヒーローセクション */
|
||||||
|
.hero-section {
|
||||||
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||||
|
color: white;
|
||||||
|
padding: 2rem;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.features-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card {
|
||||||
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
padding: 1.5rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card h3 {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ガイドリンク */
|
||||||
|
.guide-links {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-link {
|
||||||
|
display: block;
|
||||||
|
padding: 1.5rem;
|
||||||
|
border: 2px solid #e1e4e8;
|
||||||
|
border-radius: 8px;
|
||||||
|
text-decoration: none;
|
||||||
|
color: inherit;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-link:hover {
|
||||||
|
border-color: #0366d6;
|
||||||
|
box-shadow: 0 4px 12px rgba(3, 102, 214, 0.15);
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-link.coming-soon {
|
||||||
|
opacity: 0.6;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-link h4 {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
color: #0366d6;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 統計セクション */
|
||||||
|
.stats-section {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
||||||
|
gap: 1rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-item h3 {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
color: #28a745;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-item p {
|
||||||
|
color: #586069;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* CTAセクション */
|
||||||
|
.footer-cta {
|
||||||
|
background: #f6f8fa;
|
||||||
|
padding: 2rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
text-align: center;
|
||||||
|
margin: 3rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cta-button {
|
||||||
|
display: inline-block;
|
||||||
|
background: #28a745;
|
||||||
|
color: white;
|
||||||
|
padding: 1rem 2rem;
|
||||||
|
border-radius: 6px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 1rem;
|
||||||
|
transition: background-color 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cta-button:hover {
|
||||||
|
background: #218838;
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* レスポンシブ対応 */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.features-grid,
|
||||||
|
.guide-links,
|
||||||
|
.stats-section {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-section {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-item h3 {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue