# GitHub ワークフロー

# 1 概要

GitHub は Git リポジトリをホストするプラットフォームであり、チーム開発を支援する多くの機能を提供します。Pull Request (PR) によるコードレビュー、Issues によるタスク管理、GitHub Actions による自動化が主要な機能です。

このリポジトリは GitHub でホストされており、GitHub Actions による CI/CD パイプラインを使用しています。PRのマージ時に自動ビルド・テスト・ドキュメント公開が実行されます。チームでこのリポジトリを活用するには、GitHub Flow の基本的なワークフローを理解することが重要です。

PR ベースの開発は「レビューなしに main ブランチに直接コミットする」従来の開発スタイルからの転換です。コードレビューをプロセスに組み込むことで、バグの早期発見とナレッジ共有が実現できます。

なお、GitLab や GitBucket など、別のプラットフォームでホストされたプロジェクトに参加する場合は、そのプラットフォーム固有のワークフローや運用ルールが適用されます。各プロジェクトの公式ドキュメントや提供資料を参照し、それらを基に学習・理解したうえで作業を進めてください。

# 2 習得目標

- GitHub アカウントを作成し、リポジトリをフォーク・クローンできる
- feature ブランチを作成し、変更をプッシュできる
- Pull Request を作成し、説明を記述できる
- PR のレビューコメントに応答し、変更を追加できる
- Issues を作成し、PR とリンクできる
- GitHub Flow (feature branch → PR → review → merge) を説明できる
- PR がマージされたときに CI が実行されることを確認できる

# 3 学習マテリアル

## 3.1 公式ドキュメント

- GitHub Docs (日本語) - GitHub の公式ドキュメント
  - GitHub Flow - GitHub 推奨の開発ワークフロー
  - Pull Request の作成 - PR の基本操作
  - Issues の作成 - タスク管理の基本

## 3.2 チュートリアル・入門

- GitHub Skills - GitHub 公式のハンズオン学習コース (英語)
  - Introduction to GitHub、Review Pull Requests など対話型コースが無料で利用可能

## 3.3 日本語コンテンツ

- サルでも分かるGit入門 - プルリクエスト - 図解によるプルリクエストの説明

# 4 このリポジトリとの関連

## 4.1 使用箇所 (具体的なファイル・コマンド)

典型的な開発ワークフロー:

    git switch -c feature/add-new-test

    git add test/src/calc/libcalcbaseTest/addTest/addTest.cpp
    git commit -m "テスト: add 関数の境界値テストを追加"

    git push -u origin feature/add-new-test

PR のタイトル・説明の例:

    タイトル: feat: divide 関数のゼロ除算テストを追加

    説明:
    ## 変更内容
    - test/src/calc/libcalcbaseTest/divideTest/ にゼロ除算のテストケースを追加
    - 期待される戻り値 CALC_ERR_DIVIDE_BY_ZERO を検証

    ## 関連 Issues
    Fixes #12

## 4.2 関連ドキュメント

- GitHub Actions 設定 - このリポジトリの CI/CD パイプライン詳細
- GitHub Actions (スキルガイド) - GitHub Actions の学習マテリアル