Skip to content

MS_GitHubFoundationsMSLearn

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

GitHub Foundaitons MS Learn Collections

概要

https://learn.microsoft.com/en-us/collections/o1njfe825p602p

タイトル 時間
Introduction to Git 31 min
Introduction to GitHub 1 hr 32 min
Introduction to GitHub's products 23 min
Introduction to GitHub Copilot 19 min
Code with GitHub Codespaces 27 min
Manage your work with GitHub Projects 36 min
Communicate effectively on GitHub using Markdown 1 hr 6 min
Contribute to an open-source project on GitHub 27 min
Manage an InnerSource program by using GitHub 50 min
Maintain a secure repository by using GitHub best practices 35 min
Introduction to GitHub administration 27 min
Authenticate and authorize user identities on GitHub 33 min
Manage repository changes by using pull requests on GitHub 49 min
Search and organize repository history by using GitHub 38 min
Using GitHub Copilot with Python 22 min

移行メモ(ページ名の綴り): 元ページ名の「Foundaitons」は
「Foundations」の綴り間違いだが、ページ名としてはそのままとした
(ファイル名のみ正しい綴りに正規化した)。

詳細

以下、GitHub Foundaitons ハンズオンとの
差分情報のみをポイント

ユニット

  • Introduction 3 min
  • What is version control? 5 min
  • Exercise - Try out Git 5 min
  • Basic Git commands 10 min

Knowledge check & summary

  • Knowledge check 5 min

    • バージョン管理システム(VCS)≒ ソフトウェア構成管理 (SCM) システム
    • GitHub は、Web サイトまたはコマンド ライン ツールから
      アクセスできるリモート リポジトリ
    • (Git ホスティングサービスとか、そう言う、言い方はしていないが、
      コレは意図的なのだろうか?)
  • Summary 3 min

動画

Introduction to Git Recap | Learn with Dr G(Git 入門の要約 | Dr G と一緒に学ぶ)
https://www.youtube.com/watch?v=9uGS1ak_FGg

Git の基本操作を復習、Git の初心者向けに実践的なコマンドを解説する内容

  1. Git のセットアップ

    • ユーザー設定: git config を使用して、Git にユーザー名とメールアドレスを設定。
    • リポジトリの作成: git init で新しいリポジトリ(例: cats)を作成。
    • ファイルの追加: index.html を作成し、git status で状態を確認。
  2. ファイルの追跡とコミット

    • git add . でファイルを追跡対象に追加。
    • git commit -m "Initial commit" でバージョンを保存。
    • git log で履歴を確認。
  3. 変更の追加とコミットの管理

    • git diff で変更点を確認。
    • git commit -a -m "Updated index.html" で変更を保存。
    • .gitignore ファイルを追加し、不要なファイルを除外。
  4. ファイルの削除と復元

    • 間違って削除した場合:
      • rm index.html の後、git checkout -- index.html で復元。
      • git rm index.html をした場合は、git reset HEAD index.html で復元。
  5. コミットの取り消しと修正

    • 直前のコミットの修正: git commit --amend --no-edit で微修正。
    • 誤った変更の取り消し: git revert HEAD で直前のコミットを打ち消す。
    • 特定のコミットに戻る:
      • git checkout <commit-hash> . で指定のコミットに戻す。
      • git reset --hard <commit-hash> で完全に巻き戻し可能。
  6. まとめと今後の予定

    • Git の基本的な操作(セットアップ、変更の追跡、コミット、削除・復元、
      履歴管理)を復習。
    • 今後のライブ配信で、コミットの統合(squash)などの高度なトピックを解説予定。
    • 詳細な学習モジュール: aka.ms/LearnWithDrG/IntroToGit

補足(git checkout は 2 つに分かれた): 上記の
git checkout -- <file>(復元)と git checkout <commit>(切替)は、
Git 2.23 以降 **git restore(復元)と git switch(切替)**に
分離された。git checkout も引き続き使えるが、
用途が 2 つ混ざっていて分かりにくいため、新しいコマンドが推奨される。
模擬試験
git switch -c でブランチ作成」もこの流れである。

ユニット

  • Introduction 2 min

  • What is GitHub? 8 min

  • Components of the GitHub flow 8 min

  • GitHub is a collaborative platform 8 min

  • GitHub platform management 4 min

  • Exercise - A guided tour of GitHub 58 min
    https://github.com/skills/introduction-to-github

Knowledge check & summary

  • Knowledge check 3 min

    • GitHub プロジェクトにバグを報告する最適な方法は問題(Issue)
    • プルリクエストの話 1(ブランチ、修正、プルリク、マージ)
    • プルリクエストの話 2(書込権限が無い場合はフォーク&クローンして修正、
      プッシュ、プルリク)
  • Summary 1 min

Exercise

https://github.com/skills/introduction-to-github

ユニット

  • Introduction 1 min
  • GitHub accounts and plans 10 min
  • GitHub Mobile and GitHub Desktop 4 min
  • GitHub billing 3 min

Knowledge check & summary

  • Knowledge check 4 min

    • 組織アカウントは共有アカウント、個人アカウントは個人用
    • Enterprise プランで複数の組織にまたがるユーザーとリポジトリを一元的に管理
    • チームで会社またはグループの構造を反映
      (カスケード アクセス権限を提供し、メンションを介して
      すべてのチーム メンバーに簡単に通知)
  • Summary 1 min

    • アカウントの種類: 個人、組織、企業
    • プラン: 個人と組織向けの Free、個人向けの Pro、組織向けの Team、
      企業向けの Enterprise。
    • GitHub Mobile および GitHub Desktop で GitHub にアクセスする際に
      関連する機能。
    • GitHub の請求と支払い(個人向け従量課金、組織向けサブスクリプション課金)

ユニット

Knowledge check & summary

  • Knowledge check 5 min

    • AI ペア プログラマー
    • 現在の GitHub Copilot は、OpenAI Codex ではなく、より新しい GPT-4 を使用
    • IDE として VS Code、Visual Studio、Neovim、JetBrains をサポート
    • Business と Enterprise:IP 補償と追加のセキュリティ層
    • Enterprise:組織コードベースを使用した組織向けのパーソナライゼーション
  • Summary 1 min

    • プラン: 個人向けの Free、Pro、組織向けの Business、企業向けの Enterprise。
    • 機能:Copilot for chat、for pull requests
    • アクセス:Copilot for CLI、Command palette
    • IntelliSense:Inline suggestions、Multiple suggestions
    • 対話:Inline chat、Copilot chat
    • 生成:Comments to code、Explanations、Automated test generation

補足(モデルは選べるようになった): 「GPT-4 を使用」という記述は
当時の状況で、現在の GitHub Copilot は
チャットで使用するモデルをユーザーが選択できる
(GPT 系、Claude 系、Gemini 系など)。
試験対策としては「特定のモデル名を覚える」より
「モデルは差し替わる前提の製品である」と押さえるのが実際的である。

Exercise

https://github.com/skills/copilot-codespaces-vscode?tab=readme-ov-file

ユニット

  • Introduction 1 min

  • The Codespace lifecycle 6 min

  • Personalize your Codespace 4 min

  • Codespaces versus GitHub.dev editor 4 min

  • Exercise - Code with Codespaces and Visual Studio Code 5 min
    https://github.com/skills/code-with-codespaces

Knowledge check & summary

  • Knowledge check 5 min

  • Summary 2 min
    ライフサイクルがポイント

    • VM にリモート接続する方式でエディタ+デバッグ実行、
      環境のカスタマイズが可能
    • GitHub.com、Visual Studio Code、または GitHub CLI で作成&接続できる。
    • GitHub.dev はエディタの機能のみ提供している。
    • リポジトリまたはブランチごとにリソース上限があり達すると通知される。
    • ネットワーク接続が切れると操作できなくなるが再接続すれば続行可能
    • リポジトリは、Linux システム上の /workspace ディレクトリにクローンされる。

Exercise

https://github.com/skills/code-with-codespaces

ユニット

  • Introduction 1 min
  • Projects versus Projects Classic 5 min
  • How to create a project 5 min
  • How to organize your project 5 min
  • How to organize and automate your project 8 min
  • Insight and automation with projects 8 min

Knowledge check & summary

  • Knowledge check 3 min

    • 変更すると自動的に保存されるプロジェクト記述子はプロジェクト名(?)
    • Iteration field(反復フィールド)でアジャイルのイテレーションにグループ化
    • Single select field(単一選択フィールド)で優先度のグループ化を行う
    • GitHub Actions を使用せず簡単な Built-in automation(組み込みの自動化)でも
      自動化可能
  • Summary 1 min

    • GitHub Projects は Redmine 的な機能を持つ GitHub 上の一機能

ユニット

Knowledge check & summary

  • Knowledge check 3 min
  • Summary 1 min

Exercise

https://github.com/skills/communicate-using-markdown

ユニット

  • Introduction 1 min

  • Identify where you can help 5 min

  • Contribute to an open-source repository 8 min

  • Exercise - Create your first pull request 6 min
    https://github.com/firstcontributions/first-contributions/blob/main/docs/translations/README.ja.md

  • Next steps 2 min

  • Knowledge check 4 min

    • GitHub リポジトリでプロジェクトを支援できる場所を見つけるのに
      最適な場所は問題リスト
    • プルリクエストでヘルプやレビューを依頼する場合、
      プルリクエストにコメントを追加する
    • リポジトリをフォークし、クローンし、変更をコミットし、
      フォークにプッシュしプルリクエストを作成
  • Summary 1 min

    • 貢献
    • プルリクエスト
    • GitHub Sponsors

Exercise

https://github.com/firstcontributions/first-contributions/blob/main/docs/translations/README.ja.md

ユニット

Knowledge check & summary

  • Knowledge check 3 min

    • InnerSource プログラムは、アクセスが組織内のユーザーに
      限定されている点を除いて、基本的に OpenSource プログラムと同じ。
    • テンプレート機能は InnerSource でも OpenSource でも使えるが、
      よりガバナンスを強め易い InnerSource でより機能し易い。
  • Summary 1 min

Exercise

https://githubtraining.github.io/innersource-theory/#/measuring_success

ユニット

  • Introduction 2 min

  • How to maintain a secure GitHub repository 8 min

    • 安全な開発戦略の重要性
      (一般知識の問題でコードを正しく安全に作成する規則と規制に準拠)
    • あらゆる段階でのセキュリティ
      (開発ライフサイクルのすべての段階にプラクティスを組み込む)
    • セキュリティタブの機能
      (SECURITY.md、セキュリティアドバイザリ、Dependabot、コード スキャン
    • .gitignore を使用して機密ファイルをリポジトリから除外する
    • リポジトリから機密データを削除する
      (誤ってパスワードを含むコミットをプッシュした場合など)
    • ブランチ保護ルール
      (1 つ以上のブランチに対して特定の(CI/CD 系の)ワークフローを適用)
    • CODEOWNERS ファイルを追加
      (プル リクエストのマージにコード所有者のレビューが必要になる)
  • Automated security 6 min

    • セキュリティ上の脆弱性のある古い依存関係を検出して修正する
    • リポジトリ依存関係グラフ
    • Dependabot:アラート、依存関係の自動更新
    • 自動コードスキャン、機密データスキャン
  • Exercise - Secure your repository's supply chain 15 min
    https://github.com/skills/secure-repository-supply-chain

Knowledge check & summary

  • Knowledge check 3 min
  • Summary 1 min

Exercise

https://github.com/skills/secure-repository-supply-chain

ユニット

  • Introduction 1 min

  • What is GitHub administration? 6 min

    • チームレベルでの管理

      • 新しいチームを作成
      • 親チームを選択または変更
      • チームを削除または名前を変更
      • チームに組織メンバーを追加または削除
      • チームのメンバーシップを IdP グループと同期
      • チーム / リポジトリに外部の共同作業者を追加または削除
      • チームのページでチームディスカッションを有効 / 無効化
      • 組織内のチームの可視性を変更
      • プルリクエストの自動コード レビュー割り当て
      • リマインダーをスケジュール
      • チームのプロフィール写真を設定
      • チームレベルの管理のベストプラクティス
    • 組織レベルでの管理

      • ユーザーを組織に招待 / 削除
      • チーム編成しメンバーにチームメンテナー権限を付与
      • 組織のリポジトリに外部の共同作業者を追加または削除
      • メンバーにリポジトリの権限レベルを付与
      • 特定のリポジトリのデフォルト権限レベルを設定
      • 組織のセキュリティを設定する。
      • 請求を設定、請求マネージャーを割り当て。
      • カスタム スクリプトを使用して、リポジトリ情報を抽出
      • カスタム スクリプトを使用して、組織全体の変更を適用
      • 推奨:ユーザーとリポジトリに対して 1 つの組織のみを設定
      • 注意:会社内の特定の制約により複数の組織を作成する場合
        ・組織の複製、組織間の設定共有はできない(設定エラーの発生リスクが高い)
        ・アプリケーションを複数の組織にインストールする必要がある場合に
         追加コストが発生する可能性
    • 企業レベルでの管理

      • SAML によるハイブリッド IdP 的な構築が可能
      • 企業に組織を追加 / 削除
      • 組織に課金を設定、課金マネージャーを割り当て。
      • 企業内のすべての組織、リポジトリ、メンバーに適用されるポリシーを設定
      • カスタム スクリプトを使用して、組織情報を抽出
      • カスタム スクリプトを使用して、企業全体の変更を適用
  • How does GitHub authentication work? 6 min

    • 認証オプション

      • ユーザー名とパスワード
      • 個人アクセストークン(PAT、GitHub API 用)
      • SSH キー(リモート接続用)
      • デプロイ キー(別の種類の SSH キー)
    • セキュリティ オプション

      • 2 要素認証(TOTP、SMS、FIDO、GitHub Mobile)
      • LDAP、SAML
  • How does GitHub organization and permissions work? 10 min

    • リポジトリ権限

      • 読み取り
      • トリアージ
      • 書き込み
      • 維持
      • 管理者
    • チーム権限

      • メンバー
      • (チームの)メンテナー
    • 組織の権限
      以下のロールとデフォルトの権限を付与

      • 所有者
      • メンバー
      • モデレータ
      • 請求マネージャー
      • セキュリティ管理者
      • 外部協力者
    • エンタープライズ権限
      以下のロールとデフォルトのリポジトリ権限

      • 所有者
      • メンバー
      • 請求マネージャー
    • リポジトリのセキュリティと管理

      • 保護ルールを作成する
      • CODEOWNERS ファイルを追加する
      • Insights を使用してトラフィックを表示

Knowledge check & summary

  • Knowledge check 3 min
  • Summary 1 min

ユニット

  • Introduction 2 min

  • User identity and access management 4 min

    • SAML SSO による組織管理
      (ADFS、Entra ID、Okta、OneLogin、PingOne、Shibboleth)
  • User authentication 10 min

    • SAML SSO による認証
    • 2FA、MFA(TOTP、SMS、FIDO
  • User authorization 7 min

    • SCIM 経由の SAML SSO による認証
      (SCIM は ID プロビジョニング技術)
    • SAML SSO を使用した SSH と PAT
  • Team synchronization 5 min

    • Entra ID または Okta
    • GitHub チームを IdP グループに接続
    • 組織 / 企業アカウントでも利用可能

Knowledge check & summary

  • Knowledge check 3 min

    • 認証プロトコルの基本的な知識を理解しておくこと
    • チーム同期はすべてのユーザーのプロフィールを読む権限が必要
    • SSWS はチーム情報にアクセスするための WebAPI のトークンらしい
  • Summary 2 min

補足(SSWS とは): 「らしい」と留保されているが、
SSWS は Okta の API トークンを表す認証スキーム名である
Authorization: SSWS <token> の形で使う。
Okta 独自のもので、標準の Bearer とは別)。
GitHub の Team synchronization を Okta で構成する際、
Okta 側のグループ情報を読むために GitHub に登録する。

ユニット

Knowledge check & summary

  • Knowledge check 3 min
  • Summary 1 min

ユニット

  • Introduction 2 min

  • How to search and organize repository history by using GitHub 8 min

    • グローバル検索(様々なエンティティが対象)

    • コンテキスト検索(問題やプルリクエストなどの特定のタブで利用)

    • 検索フィルターの使用

      クエリ 説明
      is:open is:issue assignee:@me 現在のユーザーに割り当てられている未解決の問題
      is:closed is:pr author:contoso クローズされた @contoso に作成されたプルリクエスト
      is:pr sidebar in:comments コメントで「サイドバー」と言及されているプルリクエスト
      is:open is:issue label:bug -linked:pr プルリクエストにリンクされていない未解決バグ問題
    • git blame in GitHub

      • git blame:特定のファイルの各行が「いつ・誰によって」
        変更されたのかを表示する Git コマンド
      • blame in GitHub:より堅牢なユーザー インターフェースで基本機能を拡張
    • issue、commit などの相互リンク、メンション

  • Exercise - Connect the dots in a GitHub repository 24 min
    https://github.com/skills/connect-the-dots

Knowledge check & summary

  • Knowledge check 3 min
  • Summary 1 min

ユニット

  • Introduction 1 min
  • What is GitHub Copilot? 2 min
  • Exercise - Set up GitHub Copilot to work with Visual Studio Code 5 min
  • Use GitHub Copilot with Python 3 min
  • Exercise - Update a Python web API with GitHub Copilot 5 min

GitHub Copilot

Exercise

Knowledge check & summary

  • Knowledge check 5 min
  • Summary 1 min

参考


Tags: .NET開発, 構成管理ツール, CI, BI/AI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally