From 2560cee37d1c4e8054cff2346ff9c8332dc42ef3 Mon Sep 17 00:00:00 2001 From: marketing-shibata50 Date: Sun, 20 Jul 2025 18:57:04 +0900 Subject: [PATCH] =?UTF-8?q?GitHub=E6=A9=9F=E8=83=BD=E4=B8=80=E8=A6=A7?= =?UTF-8?q?=E3=82=92=E5=A4=A7=E5=B9=85=E3=81=AB=E5=85=85=E5=AE=9F=E5=8C=96?= =?UTF-8?q?=20-=20=E5=85=A820=E6=A9=9F=E8=83=BD=E3=81=AB=E8=A9=B3=E7=B4=B0?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E3=81=A8=E5=AE=9F=E4=BE=8B=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 各機能に以下を追加: - 分かりやすい説明(カッコ内の簡単な例え) - 実際の使用例・ユースケース - 具体的な操作手順 - トラブルシューティング(該当する機能) - 視覚的な説明と絵文字での分類 特に充実させた内容: - Git基本操作(Clone/Push/Pull/Merge)の詳細 - Actions: YAMLサンプルと人気ワークフロー - Pages: 実際のURL例とサポート技術 - Discussions: カテゴリ説明 - Packages: 各言語のパッケージ例 - Sponsors: ティア例と支援の意味 ユーザーフィードバック「もう少し詳しく何に使うのかや実際の事例のボリュームほしい」に対応 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- beginners/github-features-simple.md | 524 +++++++++++++++++++++++----- 1 file changed, 431 insertions(+), 93 deletions(-) diff --git a/beginners/github-features-simple.md b/beginners/github-features-simple.md index df8f9d5..e8e7dec 100644 --- a/beginners/github-features-simple.md +++ b/beginners/github-features-simple.md @@ -13,289 +13,627 @@ GitHubって何ができるの?という疑問に、シンプルにお答え ## 📌 GitHubの主な機能一覧(全20機能) ### 1. 📁 **リポジトリ(Repository)** -**何これ?** → プロジェクトを保存する場所 +**何これ?** → プロジェクトを保存する場所(フォルダみたいなもの) + **何ができる?** - コードやファイルを保存 -- 変更履歴を記録 -- 複数人で共有 +- 変更履歴を自動記録 +- 複数人で共有・共同編集 +- バックアップとして機能 + +**実際の使用例:** +- 🌐 **Webサイト開発**: HTML/CSS/JavaScriptファイルを管理 +- 📝 **ドキュメント管理**: マニュアルや仕様書を保存 +- 🎨 **デザイン管理**: 画像やデザインファイルの履歴管理 +- 📊 **データ分析**: JupyterノートブックやCSVファイル管理 + +**こんな時に便利:** +- 「先週のバージョンに戻したい」→ 履歴から復元可能 +- 「チームで同じファイルを編集」→ 競合を自動検出 +- 「PCが壊れた」→ GitHubから復元できる **使い方:** 1. 右上の「+」ボタン → 「New repository」 -2. 名前を入力(例:my-first-project) -3. 「Create repository」をクリック +2. 名前を入力(例:my-awesome-website) +3. Public/Private を選択 +4. 「Create repository」をクリック --- ### 2. 🌿 **ブランチ(Branch)** -**何これ?** → 作業を分ける仕組み +**何これ?** → 作業を分ける仕組み(平行世界を作るイメージ) + **何ができる?** -- 本番に影響せずに開発 +- 本番に影響せずに開発・実験 - 複数の機能を並行開発 -- 安全に実験 +- 失敗しても本番は無事 +- チームメンバーの作業が混ざらない + +**実際の使用例:** +- 🆕 **新機能開発**: `feature/login` ブランチでログイン機能開発 +- 🐛 **バグ修正**: `fix/button-error` ブランチで緊急修正 +- 🧪 **実験**: `experiment/new-design` で新デザインを試す +- 📱 **バージョン管理**: `release/v2.0` で次期バージョン準備 + +**こんな時に便利:** +- 「新機能を試したいけど、壊れたら困る」 +- 「AさんとBさんが同時に違う機能を開発」 +- 「お客様用と開発用を分けたい」 **使い方:** 1. リポジトリページの「main」ボタンをクリック -2. 新しいブランチ名を入力(例:new-feature) +2. 新しいブランチ名を入力(例:feature/shopping-cart) 3. 「Create branch」をクリック +4. 安心して開発開始! --- ### 3. 💾 **コミット(Commit)** -**何これ?** → 変更を保存すること +**何これ?** → 変更を保存すること(セーブポイントを作る) + **何ができる?** - ファイルの変更を記録 - いつ誰が何を変更したか分かる -- 過去の状態に戻せる +- 過去の任意の状態に戻せる +- 変更理由を残せる + +**実際の使用例:** +- 🎯 **機能追加**: 「ショッピングカート機能を追加」 +- 🐛 **バグ修正**: 「ログインエラーを修正 #123」 +- 💄 **デザイン変更**: 「ヘッダーの色を青に変更」 +- 📝 **ドキュメント更新**: 「インストール手順を追加」 + +**良いコミットメッセージの例:** +``` +✅ 良い例: +- feat: ユーザー認証機能を追加 +- fix: カートの合計金額計算エラーを修正 +- docs: APIの使用方法を追記 +- style: ボタンのデザインを改善 + +❌ 悪い例: +- 更新 +- fix +- aaaa +``` **使い方:** 1. ファイルを編集 2. 「Commit changes」ボタンをクリック -3. 変更内容を説明(例:「ログイン機能を追加」) -4. 「Commit changes」で保存 +3. 何を変更したか分かりやすく説明 +4. 「Commit changes」で保存完了 --- ### 4. 🔄 **プルリクエスト(Pull Request)** -**何これ?** → 変更を提案する仕組み +**何これ?** → 変更を提案する仕組み(「この変更、取り込んでください」) + **何ができる?** - コードレビューを依頼 -- 変更内容を説明 -- 議論しながら改善 +- 変更内容を説明・議論 +- チームメンバーからフィードバック +- 自動テストを実行 + +**実際の使用例:** +- ✨ **機能追加**: 「検索機能を追加しました」 +- 🔧 **バグ修正**: 「メモリリークを修正しました」 +- 📈 **パフォーマンス改善**: 「ページ読み込み速度50%改善」 +- 📦 **ライブラリ更新**: 「Reactをv18にアップデート」 + +**PRのフロー:** +``` +1. ブランチで開発 +2. PRを作成 +3. レビュー・議論 +4. 承認されたらマージ +``` **使い方:** 1. 「Pull requests」タブ → 「New pull request」 2. 比較するブランチを選択 -3. タイトルと説明を入力 -4. 「Create pull request」をクリック +3. 変更内容を詳しく説明 +4. レビュアーを指定 +5. 「Create pull request」をクリック --- ### 5. 🎫 **イシュー(Issues)** -**何これ?** → タスク管理・バグ報告 +**何これ?** → タスク管理・バグ報告(TODOリストみたいなもの) + **何ができる?** - やることリストを作成 -- バグを報告 -- アイデアを共有 +- バグや問題を報告 +- アイデアや提案を共有 +- 進捗を追跡 + +**実際の使用例:** +- 🐛 **バグ報告**: 「スマホでメニューが開かない」 +- 🎯 **機能要望**: 「ダークモードを追加してほしい」 +- 📝 **TODO管理**: 「ドキュメントを整理する」 +- ❓ **質問**: 「この機能の使い方が分からない」 + +**ラベルを使った整理:** +- 🐛 `bug` - バグ・不具合 +- ✨ `enhancement` - 新機能 +- 📝 `documentation` - ドキュメント +- ❓ `question` - 質問 +- 🔥 `urgent` - 緊急 **使い方:** 1. 「Issues」タブ → 「New issue」 -2. タイトル(例:「ログインボタンが動かない」) -3. 詳細を説明 -4. 「Submit new issue」をクリック +2. 分かりやすいタイトルを付ける +3. スクリーンショットや詳細を追加 +4. ラベルを付けて分類 +5. 「Submit new issue」をクリック --- ### 6. 📋 **プロジェクト(Projects)** -**何これ?** → タスクボード +**何これ?** → タスクボード(カンバン方式のタスク管理) + **何ができる?** - タスクを視覚的に管理 -- 進捗状況を確認 -- チームで協力 +- 進捗状況を一目で把握 +- チームの作業を調整 +- スプリント計画 + +**実際の使用例:** +- 🎯 **製品開発**: ToDo → 進行中 → レビュー → 完了 +- 📖 **コンテンツ作成**: 企画 → 執筆 → 編集 → 公開 +- 🎨 **デザイン作業**: アイデア → スケッチ → デザイン → 実装 +- 📊 **イベント企画**: 準備 → 告知 → 実施 → 振り返り + +**ボードの種類:** +- **カンバン**: カードを移動させる +- **テーブル**: スプレッドシート風 +- **ロードマップ**: タイムライン表示 **使い方:** 1. 「Projects」タブ → 「New project」 -2. ボード形式を選択 -3. タスクカードを追加 -4. ドラッグ&ドロップで移動 +2. ボードタイプを選択 +3. カラムを設定(ToDo, 進行中, 完了など) +4. Issueをカードとして追加 +5. ドラッグ&ドロップで管理 --- ### 7. ⚡ **アクション(Actions)** -**何これ?** → 自動化ツール +**何これ?** → 自動化ツール(ロボットが代わりに作業) + **何ができる?** - テストを自動実行 -- デプロイを自動化 +- Webサイトを自動更新 - 定期的なタスクを実行 +- コード品質をチェック + +**実際の使用例:** +- 🧪 **テスト自動化**: コミット毎にテスト実行 +- 🌐 **サイトデプロイ**: pushすると自動で公開 +- 📦 **リリース**: タグ付けで自動パッケージ作成 +- 🔔 **定期実行**: 毎日データを収集・更新 +- 🔍 **コード検査**: スペルチェックやフォーマット + +**人気のワークフロー:** +```yaml +# テスト自動実行 +on: [push, pull_request] +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: npm test +``` **使い方:** -1. 「Actions」タブ -2. 「set up a workflow yourself」 -3. テンプレートを選択 +1. 「Actions」タブを開く +2. テンプレートを選択または新規作成 +3. YAMLファイルを編集 4. 「Start commit」で保存 +5. 自動で実行開始! --- ### 8. 🌐 **ページ(Pages)** -**何これ?** → 無料のWebサイト公開 +**何これ?** → 無料のWebサイト公開(ホームページが作れる) + **何ができる?** -- Webサイトを公開 -- ドキュメントを公開 -- ポートフォリオ作成 +- 静的Webサイトを公開 +- ドキュメントサイト作成 +- ポートフォリオ公開 +- ブログ運営 + +**実際の使用例:** +- 👨‍💼 **個人サイト**: username.github.io +- 📚 **ドキュメント**: 製品マニュアル・APIドキュメント +- 🎨 **ポートフォリオ**: 作品集・実績紹介 +- 💰 **ランディングページ**: 製品紹介サイト +- 📖 **ブログ**: JekyllやHugoでブログ運営 + +**サポートしているもの:** +- HTML/CSS/JavaScript +- Jekyll(ブログエンジン) +- カスタムドメイン **使い方:** 1. Settings → Pages 2. Source で「Deploy from a branch」選択 -3. Branch を「main」に設定 +3. Branch を「main」または「gh-pages」に設定 4. 「Save」をクリック +5. https://username.github.io/repositoryでアクセス --- ### 9. 📚 **ウィキ(Wiki)** -**何これ?** → プロジェクトの説明書 +**何これ?** → プロジェクトの説明書(内部ドキュメント) + **何ができる?** -- ドキュメント作成 +- 詳細なドキュメント作成 - 使い方マニュアル -- FAQ作成 +- FAQ・Q&A集 +- 用語集・リファレンス + +**実際の使用例:** +- 📖 **インストールガイド**: 環境別の設定手順 +- 🔧 **APIドキュメント**: エンドポイント一覧 +- 🎯 **開発ガイドライン**: コーディング規約 +- ❓ **FAQ**: よくある質問と回答 +- 📈 **チュートリアル**: 機能の使い方解説 + +**Wiki vs README:** +- **README**: プロジェクトの概要(簡潔に) +- **Wiki**: 詳細なドキュメント(徹底的に) **使い方:** -1. 「Wiki」タブ +1. 「Wiki」タブを開く 2. 「Create the first page」 -3. 内容を入力 -4. 「Save page」 +3. ページタイトルと内容を入力 +4. マークダウンで装飾 +5. 「Save page」で保存 --- ### 10. 👁️ **ウォッチ(Watch)** -**何これ?** → 更新通知を受け取る +**何これ?** → 更新通知を受け取る(プロジェクトを監視) + **何ができる?** - プロジェクトの更新を追跡 - 重要な変更を見逃さない - 興味のあるプロジェクトをフォロー +- メールで通知を受け取る + +**通知レベル:** +- 🔔 **All Activity**: すべての活動を通知 +- 🔕 **Participating**: 自分が関係するもののみ +- 🔇 **Ignore**: 通知をオフ + +**実際の使用例:** +- 🚀 **人気OSS**: ReactやVue.jsの更新を追跡 +- 💼 **仕事のプロジェクト**: チームの進捗を把握 +- 📖 **学習素材**: 教育コンテンツの更新 +- 🔍 **競合調査**: 競合他社のOSS動向 **使い方:** 1. リポジトリページの「Watch」ボタン 2. 通知レベルを選択 -3. 「Apply」をクリック +3. 通知設定をカスタマイズ +4. メールまたはGitHub通知で確認 --- ### 11. ⭐ **スター(Star)** -**何これ?** → お気に入り登録 +**何これ?** → お気に入り登録(「いいね!」ボタン) + **何ができる?** - 気に入ったプロジェクトを保存 - 後で見返せる -- 作者を応援 +- 作者を応援・評価 +- 人気度の指標 + +**実際の意味:** +- 💯 **多いほど人気**: 1000★ = かなり人気 +- 🏆 **開発者の励み**: モチベーションになる +- 🔖 **ブックマーク**: 後で使うプロジェクトを保存 +- 📊 **信頼性**: スター数で品質を判断 + +**スターしたプロジェクトの見方:** +1. プロフィール → Starsタブ +2. カテゴリ別に整理可能 +3. 検索もできる **使い方:** -1. リポジトリページの「Star」ボタンをクリック -2. それだけ! +1. リポジトリページの「⭐ Star」ボタン +2. クリックするだけ! +3. ボタンが黄色になれば完了 --- ### 12. 🍴 **フォーク(Fork)** -**何これ?** → プロジェクトをコピー +**何これ?** → プロジェクトをコピー(自分版を作る) + **何ができる?** - 他人のプロジェクトをコピー - 自分用にカスタマイズ - 改善案を提案 +- 実験・学習用に使う + +**実際の使用例:** +- 🔧 **OSS貢献**: バグ修正を提案 +- 🎮 **カスタマイズ**: 自分好みに改造 +- 📖 **学習**: コードを読んで勉強 +- 🧪 **実験**: 新機能を試す +- 🌐 **ローカライズ**: 日本語化など + +**Forkの流れ:** +``` +1. Forkボタンでコピー +2. 自分のリポジトリで編集 +3. 変更をコミット +4. Pull Requestで提案 +``` **使い方:** -1. リポジトリページの「Fork」ボタン -2. 自分のアカウントにコピーされる -3. 自由に編集可能 +1. リポジトリページの「🍴 Fork」ボタン +2. 自分のアカウントにコピー作成 +3. 「username/repository」の形で保存 +4. 完全に自分のものとして編集可能 --- ### 13. 📥 **クローン(Clone)** -**何これ?** → リポジトリをパソコンにダウンロード +**何これ?** → リポジトリをパソコンにダウンロード(作業開始!) + **何ができる?** - GitHubからローカルPCへコピー - オフラインで作業可能 - 好きなエディタで編集 +- 高速な開発作業 + +**実際の使用例:** +- 💻 **ローカル開発**: VSCodeでコード編集 +- 🎮 **ゲーム開発**: Unityでプロジェクト開発 +- 📱 **アプリ開発**: XcodeやAndroid Studioで作業 +- 🌐 **Web開発**: ローカルサーバーでテスト + +**Cloneの方法:** +```bash +# HTTPS版(簡単) +git clone https://github.com/user/repo.git + +# SSH版(セキュア) +git clone git@github.com:user/repo.git + +# GitHub Desktop(GUI) +Code → Open with GitHub Desktop +``` **使い方:** 1. リポジトリページの「Code」ボタン -2. URLをコピー +2. HTTPS/SSHのURLをコピー 3. ターミナルで `git clone [URL]` 4. または GitHub Desktop でワンクリック +5. フォルダが作成されて作業開始! --- ### 14. ⬆️ **プッシュ(Push)** -**何これ?** → ローカルの変更をGitHubにアップロード +**何これ?** → ローカルの変更をGitHubにアップロード(送信!) + **何ができる?** -- 自分の作業を保存 -- チームメンバーと共有 +- 自分の作業を保存・共有 +- チームメンバーに公開 - バックアップ +- どこからでもアクセス可能に + +**実際の流れ:** +``` +1. ローカルで編集 +2. git add .(変更を記録) +3. git commit -m "メッセージ" +4. git push(GitHubに送信) +``` + +**Pushできない時:** +- ❌ **エラー**: 「! [rejected]」 +- 🔄 **解決**: 先に `git pull` で最新版を取得 +- ✅ **再試行**: `git push` **使い方:** 1. ローカルで変更・コミット -2. `git push` コマンド実行 -3. または GitHub Desktop の「Push」ボタン +2. `git push origin main` 実行 +3. または GitHub Desktop の「Push origin」 +4. GitHubで変更が確認できる --- ### 15. ⬇️ **プル(Pull)** -**何これ?** → GitHubから最新の変更を取得 +**何これ?** → GitHubから最新の変更を取得(同期!) + **何ができる?** - 他の人の変更を取り込む - 最新版に更新 - 競合を防ぐ +- チーム作業をスムーズに + +**いつPullする?** +- 🌅 **朝一番**: 作業開始前に +- 🔄 **Push前**: 必ず最新版を確認 +- 📢 **通知が来たら**: チームの更新を取得 +- 🕹️ **長時間作業後**: 定期的に同期 + +**コンフリクト(競合)が起きたら:** +``` +<<<<<<< HEAD +自分の変更 +======= +他の人の変更 +>>>>>>> origin/main +``` +→ 手動で選んで解決 **使い方:** -1. `git pull` コマンド実行 -2. または GitHub Desktop の「Pull」ボタン -3. 自動的に最新版に更新 +1. `git pull origin main` 実行 +2. または GitHub Desktop の「Pull origin」 +3. 変更が自動マージ +4. 競合があれば解決 --- ### 16. 🔀 **マージ(Merge)** -**何これ?** → ブランチを統合 +**何これ?** → ブランチを統合(変更をまとめる) + **何ができる?** - 機能開発を本番に反映 - 複数の変更を一つに - チームの作業を統合 +- 安全に変更を取り込む + +**マージの種類:** +- 🚀 **Fast-forward**: 単純に進めるだけ +- 🤝 **3-way merge**: 両方の変更を統合 +- 📚 **Squash merge**: 複数コミットを1つに +- 🌿 **Rebase**: 履歴をきれいに整理 + +**PRマージのフロー:** +``` +1. featureブランチで開発 +2. Pull Request作成 +3. コードレビュー +4. CI/CDテスト +5. 承認後マージ +``` **使い方:** -1. Pull Request を作成 -2. レビュー後「Merge」ボタン -3. ブランチが統合される +1. Pull Request ページを開く +2. レビュー完了を確認 +3. 「Merge pull request」ボタン +4. マージ方法を選択 +5. 「Confirm merge」で完了 --- ### 17. 💬 **ディスカッション(Discussions)** -**何これ?** → フォーラム形式の議論場所 +**何これ?** → フォーラム形式の議論場所(コミュニティ広場) + **何ができる?** - Q&A形式で質問 -- アイデアの議論 +- アイデアの議論・提案 - お知らせの共有 +- コミュニティ構築 + +**カテゴリの種類:** +- 📰 **Announcements**: お知らせ・リリース情報 +- 💡 **Ideas**: アイデア提案・投票 +- ❓ **Q&A**: 質問と回答 +- 🗣️ **General**: 一般的な話題 +- 🏆 **Show and tell**: 作品紹介 + +**実際の使用例:** +- 🚀 **ロードマップ議論**: 今後の開発方針 +- 🎓 **チュートリアル**: 初心者向け解説 +- 🎆 **コミュニティイベント**: ハッカソン企画 +- 💜 **ユーザーサポート**: 困ったときの相談 **使い方:** -1. 「Discussions」タブ -2. 「New discussion」 -3. カテゴリを選んで投稿 +1. 「Discussions」タブを開く +2. 「New discussion」ボタン +3. カテゴリを選択 +4. タイトルと内容を入力 +5. 「Start discussion」で投稿 --- ### 18. 📝 **ギスト(Gist)** -**何これ?** → コードスニペットの共有 +**何これ?** → コードスニペットの共有(メモ帳みたいなもの) + **何ができる?** -- 短いコードを共有 +- 短いコードを簡単共有 - メモやスクリプト保存 -- 埋め込み可能 +- ブログに埋め込み +- バージョン管理も可能 + +**実際の使用例:** +- 📄 **設定ファイル**: .vimrcや.bashrcの共有 +- 🔧 **ワンライナー**: 便利なコマンド +- 📖 **コードサンプル**: ブログ記事用 +- 💾 **SQLクエリ**: よく使うクエリ集 +- 🎮 **ゲームスコア**: ハイスコアのJSON + +**Public vs Secret:** +- **Public Gist**: 検索可能・誰でも閲覧 +- **Secret Gist**: URLを知っている人だけ **使い方:** 1. gist.github.com にアクセス -2. コードを貼り付け -3. 「Create secret/public gist」 +2. ファイル名とコードを入力 +3. 言語を選択(シンタックスハイライト) +4. 「Create secret gist」または「Create public gist」 +5. URLを共有または埋め込み --- ### 19. 📦 **パッケージ(Packages)** -**何これ?** → パッケージ管理 +**何これ?** → パッケージ管理(ライブラリ公開・配布) + **何ができる?** -- npmパッケージ公開 -- Dockerイメージ管理 -- 依存関係の管理 +- パッケージを公開・管理 +- バージョン管理 +- 依存関係の追跡 +- プライベートパッケージ + +**サポートしているパッケージ:** +- 📦 **npm**: JavaScriptパッケージ +- 🐳 **Docker**: コンテナイメージ +- 💎 **RubyGems**: Rubyパッケージ +- ☕ **Maven**: Javaパッケージ +- 📦 **NuGet**: .NETパッケージ + +**実際の使用例:** +```bash +# npmパッケージを公開 +npm publish --registry=https://npm.pkg.github.com + +# Dockerイメージをpush +docker push ghcr.io/username/image:tag +``` **使い方:** -1. リポジトリの「Packages」 -2. パッケージタイプを選択 -3. 公開手順に従う +1. リポジトリの「Packages」タブ +2. 「Publish your first package」 +3. パッケージタイプを選択 +4. 指示に従って設定 +5. パッケージをアップロード --- ### 20. 💖 **スポンサー(Sponsors)** -**何これ?** → 開発者支援 +**何これ?** → 開発者支援(投げ銭・寄付システム) + **何ができる?** - オープンソース開発者を支援 -- 定期的な寄付 -- 特典の提供 +- 定期的な寄付(月額) +- 特典の提供・受け取り +- コミュニティへの貢献 + +**スポンサーティア(例):** +- 🥉 **$1/月**: 感謝の気持ち +- ☕ **$5/月**: コーヒー代支援 +- 🍕 **$10/月**: スポンサーREADME記載 +- 🎆 **$50/月**: 優先サポート +- 🚀 **$100/月**: 企業スポンサー + +**なぜスポンサー?** +- 💚 **持続可能なOSS**: 開発継続を支援 +- 🎯 **機能リクエスト**: 優先度を上げる +- 🙏 **感謝の表現**: 使っているプロジェクトへ +- 🌟 **コミュニティ参加**: 特別なDiscussionsへ **使い方:** -1. プロフィールの「Sponsor」ボタン -2. 支援額を選択 +1. プロフィールの「💖 Sponsor」ボタン +2. 支援ティアを選択 3. 支払い方法を設定 +4. 「Select」で支援開始 +5. 特典を受け取る ---