「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>GitHub Foundations]] --[[GitHub Foundations - 学習ガイドPDF]] --[[GitHub Foundations トレーニング]] --[[GitHub Foundaitons ハンズオン]] --GitHub Foundaitons MS Learn Collections --[[LinkedIn Prepare for the GitHub Foundations Certification]] --[[GitHub Foundations模擬試験]] * 目次 [#bfce4623] #contents *概要 [#kd521a2c] https://learn.microsoft.com/en-us/collections/o1njfe825p602p |タイトル|時間|h |[[Introduction to Git>#de0e49b1]]|31 min| |[[Introduction to GitHub>#k4b244ef]]|1 hr 32 min| |[[Introduction to GitHub's products>#cd2dc03c]]|23 min| |[[Introduction to GitHub Copilot>#p8ce22c8]]|19 min| |[[Code with GitHub Codespaces>#u4007747]]|27 min| |[[Manage your work with GitHub Projects>#wd10a58e]]|36 min| |[[Communicate effectively on GitHub using Markdown>#uba5375f]]|1 hr 6 min| |[[Contribute to an open-source project on GitHub>#m82d62ec]]|27 min| |[[Manage an InnerSource program by using GitHub>#w8f6d3b3]]|50 min| |[[Maintain a secure repository by using GitHub best practices>#i416df8b]]|35 min| |[[Introduction to GitHub administration>#jbe2d7aa]]|27 min| |[[Authenticate and authorize user identities on GitHub>#rd48570c]]|33 min| |[[Manage repository changes by using pull requests on GitHub>#y423a435]]|49 min| |[[Search and organize repository history by using GitHub>#qb839fd6]]|38 min| |[[Using GitHub Copilot with Python>#yabe9a2e]]|22 min| *詳細 [#j6883438] 以下、[[GitHub Foundaitons ハンズオン]]との差分情報のみをポイント **[[Introduction to Git>https://learn.microsoft.com/en-us/training/modules/intro-to-git/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#de0e49b1] ***ユニット [#f0eb6ee7] -Introduction 3 min -What is version control? 5 min -Exercise - Try out Git 5 min -Basic Git commands 10 min ***Knowledge check & summary [#o4552eb8] -Knowledge check 5 min --バージョン管理システム(VCS)≒ソフトウェア構成管理 (SCM) システム --GitHub は、Web サイトまたはコマンド ライン ツールからアクセスできるリモート リポジトリ --(Gitホスティングサービスとか、そう言う、言い方はしていないが、コレは意図的なのだろうか?) -Summary 3 min ***動画 [#u7000435] 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 **[[Introduction to GitHub>https://learn.microsoft.com/en-us/training/modules/introduction-to-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#k4b244ef] ***ユニット [#d8ba54be] -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 ***Exercise [#jfb94fb4] https://github.com/skills/introduction-to-github ***Knowledge check & summary [#ucad6898] -Knowledge check 3 min --GitHub プロジェクトにバグを報告する最適な方法は問題(Issue) --プルリクエストの話1(ブランチ、修正、ブルリク、マージ) --プルリクエストの話2(書込権限が無い場合はフォーク&クローンして修正、プッシュ、プルリク) -Summary 1 min ***Exercise [#jfb94fb4] https://github.com/skills/introduction-to-github **[[Introduction to GitHub's products>https://learn.microsoft.com/en-us/training/modules/github-introduction-products/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#cd2dc03c] ***ユニット [#vc8a8387] -Introduction 1 min -GitHub accounts and plans 10 min -GitHub Mobile and GitHub Desktop 4 min -GitHub billing 3 min ***Knowledge check & summary [#i4a47cff] -Knowledge check 4 min --組織アカウントは共有アカウント、個人アカウントは個人用 --Enterpriseプランで複数の組織にまたがるユーザーとリポジトリを一元的に管理 --チームで会社またはグループの構造を反映(カスケード アクセス権限を提供し、メンションを介してすべてのチーム メンバーに簡単に通知) -Summary 1 min --アカウントの種類: 個人、組織、企業 --プラン: 個人と組織向けのFree、個人向けのPro、組織向けのTeam、企業向けのEnterprise。 --GitHub Mobile および GitHub Desktop で GitHub にアクセスする際に関連する機能。 --GitHub の請求と支払い(個人向け従量課金、組織向けサブスクリプション課金) **[[Introduction to GitHub Copilot>https://learn.microsoft.com/en-us/training/modules/introduction-to-github-copilot/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#p8ce22c8] ***ユニット [#w42ffa17] -Introduction 1 min -GitHub Copilot, your AI pair programmer 2 min -Interact with Copilot 2 min -Set up, configure, and troubleshoot GitHub Copilot 7 min -Exercise - Develop with AI-powered code suggestions by using GitHub Copilot and VS Code 1 min~ https://github.com/skills/copilot-codespaces-vscode?tab=readme-ov-file ***Knowledge check & summary [#d7b3e59f] -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 ***Exercise [#c1e48b9a] https://github.com/skills/copilot-codespaces-vscode?tab=readme-ov-file **[[Code with GitHub Codespaces>https://learn.microsoft.com/en-us/training/modules/code-with-github-codespaces/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#u4007747] ***ユニット [#mfc58f06] -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 [#a3153210] -Knowledge check 5 min -Summary 2 min~ ライフサイクルがポイント --VMにリモート接続する方式でエディタ+デバッグ実行、環境のカスタマイズが可能 --GitHub.com、Visual Studio Code、または GitHub CLI で作成&接続できる。 --GitHub.devはエディタの機能のみ提供している。 --リポジトリまたはブランチごとにリソース上限があり達すると通知される。 --ネットワーク接続が切れると操作できなくなるが再接続すれば続行可能 --リポジトリは、Linuxシステム上の /workspaceディレクトリにクローンされる。 ***Exercise [#m20d8c5a] https://github.com/skills/code-with-codespaces **[[Manage your work with GitHub Projects>https://learn.microsoft.com/en-us/training/modules/manage-work-github-projects/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#wd10a58e] ***ユニット [#yfc16d79] -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 [#xa2aa7fb] -Knowledge check 3 min --変更すると自動的に保存されるプロジェクト記述子はプロジェクト名(?) --Iteration field(反復フィールド)でアジャイルのイテレーションにグループ化 --Single select field(単一選択フィールド)で優先度のグループ化を行う --GitHub Actionsを使用せず簡単なBuilt-in automation(組み込みの自動化)でも自動化可能 -Summary 1 min --GitHub ProjectsはRedmine的な機能を持つGitHub上の一機能 **[[Communicate effectively on GitHub using Markdown>https://learn.microsoft.com/en-us/training/modules/communicate-using-markdown/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#uba5375f] ***ユニット [#f3cc68c6] -Introduction 2 min -What is Markdown? 12 min -Exercise - Communicate using Markdown 48 min~ https://github.com/skills/communicate-using-markdown ***Knowledge check & summary [#i4212e9b] -Knowledge check 3 min -Summary 1 min ***Exercise [#r641de8e] https://github.com/skills/communicate-using-markdown **[[Contribute to an open-source project on GitHub>https://learn.microsoft.com/en-us/training/modules/contribute-open-source/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#m82d62ec] ***ユニット [#vb446d2c] -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 [#m26e210f] https://github.com/firstcontributions/first-contributions/blob/main/docs/translations/README.ja.md **[[Manage an InnerSource program by using GitHub>https://learn.microsoft.com/en-us/training/modules/manage-innersource-program-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#w8f6d3b3] ***ユニット [#y89c1122] -Introduction 2 min -How to manage a successful InnerSource program 8 min -Exercise - InnerSource fundamentals 36 min~ https://githubtraining.github.io/innersource-theory/#/measuring_success ***Knowledge check & summary [#a5136136] -Knowledge check 3 min --InnerSourceプログラムは、アクセスが組織内のユーザーに限定されている点を除いて、基本的にOpenSourceプログラムと同じ。 --テンプレート機能はInnerSourceでもOpenSourceでも使えるが、よりガバナンスを強め易いInnerSourceでより機能し易い。 -Summary 1 min ***Exercise [#qe9dd667] https://githubtraining.github.io/innersource-theory/#/measuring_success **[[Maintain a secure repository by using GitHub best practices>https://learn.microsoft.com/en-us/training/modules/maintain-secure-repository-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#i416df8b] ***ユニット [#xd3079a5] -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 [#d9d5cbfe] -Knowledge check 3 min -Summary 1 min ***Exercise [#r735c34b] https://github.com/skills/secure-repository-supply-chain **[[Introduction to GitHub administration>https://learn.microsoft.com/en-us/training/modules/github-introduction-administration/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#jbe2d7aa] ***ユニット [#s7438c72] -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 [#abd65c03] -Knowledge check 3 min -Summary 1 min **[[Authenticate and authorize user identities on GitHub>https://learn.microsoft.com/en-us/training/modules/authenticate-authorize-user-identities-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#rd48570c] ***ユニット [#y3e6a6e1] -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 [#y10d0630] -Knowledge check 3 min --認証プロトコルの基本的な知識を理解しておくこと --チーム同期はすべてのユーザーのプロフィールを読む権限が必要 --SSWSはチーム情報にアクセスするためのWebAPIのトークンらしい -Summary 2 min **[[Manage repository changes by using pull requests on GitHub>https://learn.microsoft.com/en-us/training/modules/manage-changes-pull-requests-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#y423a435] ***ユニット [#qe3ff6ce] -Introduction 2 min -What are pull requests? 8 min -Exercise - Reviewing pull requests 35 min~ https://github.com/skills/review-pull-requests ***Knowledge check & summary [#s0739478] -Knowledge check 3 min -Summary 1 min **[[Search and organize repository history by using GitHub>https://learn.microsoft.com/en-us/training/modules/search-organize-repository-history-github/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#qb839fd6] ***ユニット [#d677dd0a] -Introduction 2 min -How to search and organize repository history by using GitHub 8 min --グローバル検索(様々なエンティティが対象 --コンテキスト検索(問題やプルリクエストなどの特定のタブで利用 --検索フィルターの使用 |クエリ|説明|h |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 [#z05a851d] -Knowledge check 3 min -Summary 1 min **[[Using GitHub Copilot with Python>https://learn.microsoft.com/en-us/training/modules/introduction-copilot-python/?ns-enrollment-type=Collection&ns-enrollment-id=o1njfe825p602p]] [#yabe9a2e] ***ユニット [#k3a7b06b] -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 [#c358670f] -GitHub Copilot Free アカウント -GitHub Codespaces:https://github.com/codespaces/new/MicrosoftDocs/mslearn-copilot-codespaces-python ***Knowledge check & summary [#l2446886] -Knowledge check 5 min -Summary 1 min *参考 [#afcf89ee]