コンテンツにスキップ

GitHub

GitHubとは

GitHubは、Gitで管理しているプロジェクトをクラウド上で共有・管理できるサービスである。

簡単に言うと

Gitのオンライン保管庫 + 開発支援プラットフォーム

である。


GitとGitHubの違い

よく混同されるが別物である。

項目 Git GitHub
役割 ローカル管理 クラウド共有
動作場所 PC内 インターネット
必要性 単体で使える Gitが必要

イメージ

Git = ローカルの履歴管理
GitHub = インターネット上の保管・共有場所

GitHubでできること

GitHubはただの保存場所ではない。

主な機能は以下。

  • リポジトリ管理
  • コード共有
  • チーム開発
  • Issue管理
  • Pull Request
  • CI/CD(自動ビルド)
  • GitHub Pages(Web公開)

リポジトリ

GitHubで管理するプロジェクト単位。


Aster Project
├─ firmware
├─ hardware
├─ docs

PublicとPrivate

Public

誰でも見れる
  • オープンソース
  • ポートフォリオ向け

Private

自分や許可した人だけ
  • 開発中プロジェクト
  • 非公開設計

PushとPull

Push

ローカル → GitHub

Pull

GitHub → ローカル

Clone

GitHubのリポジトリをコピーする。

git clone URL

Branch(ブランチ)

GitHubでもブランチを管理できる。

main
 ├─ dev
 ├─ feature-ui

Pull Request(PR)

変更を本体に取り込んでもらうための申請。


流れ

1. ブランチ作成
2. 変更
3. push
4. PR作成
5. レビュー
6. merge

Issue

タスク管理・バグ管理機能。


  • バグ報告
  • 機能追加要求
  • TODO管理

Wikiとの違い

GitHubにはWiki機能もある。

  • リポジトリとは別のドキュメント
  • 軽いメモ向け

ただし現在は

README + Markdown管理

の方が主流。


GitHub Pages

GitHub上でWebサイトを公開できる機能。


docs → Webサイト化

MkDocsと組み合わせると

Markdown → Webドキュメント

が簡単に作れる。


GitHub Actions

自動化機能(CI/CD)。


できること

  • ビルド
  • テスト
  • デプロイ
  • ドキュメント更新

例(MkDocs)

push
 ↓
自動ビルド
 ↓
GitHub Pages更新

GitHubの構造

Repository
 ├─ Code
 ├─ Issues
 ├─ Pull Requests
 ├─ Actions
 ├─ Wiki

README.md

プロジェクトの説明書。


このプロジェクトはAsterの制御基板です

GitHubでは最重要ファイルの一つ。


Markdownとの相性

GitHubはMarkdownを標準サポートしている。

  • README.md
  • Issue
  • Wiki

そのため

ドキュメント管理に非常に強い

GitHubのメリット

  • 世界中で使われている
  • 無料で利用可能
  • チーム開発が簡単
  • CI/CDが使える
  • ドキュメント管理ができる

GitHubのデメリット

  • 最初は機能が多すぎる
  • PRやIssueがやや複雑
  • ネット環境が必須

Asterでの活用

Asterでは以下で使える。


① ソースコード管理

firmware

② 回路・設計管理

hardware

③ ドキュメント管理(MkDocs)

docs/

④ 自動デプロイ

GitHub Actions → MkDocs → Pages

よくあるトラブル

pushできない

認証ミス

PRがマージできない

コンフリクト

Pagesが反映されない

Actions失敗

まとめ

GitHubはGitをベースにした開発プラットフォームである。

  • コード管理
  • チーム開発
  • 自動化(Actions)
  • Web公開(Pages)
  • Issue管理

組み込み・Web・ドキュメントすべてを統合できる「開発の中心ハブ」である。