GitHub とは

完了

このユニットでは、次の学習目標を確認します。

  • GitHub Enterprise プラットフォームの概要
  • リポジトリを作成する方法
  • リポジトリへのファイルの追加
  • リポジトリを検索する方法
  • gist と Wiki の概要

GitHub

GitHub プラットフォームを詳しく調べる前に、それが何に基づいて構築されているのかを理解することが重要です。

Git は、開発者が変更を追跡し、コードで共同作業を行い、時間の経過と同時にリビジョンを管理できる分散バージョン管理システムです。 GitHub は、コラボレーション ツール、自動化機能、およびユーザー フレンドリな Web インターフェイスを追加することで、Git の上に構築されます。 コミット、ブランチ、マージなどの Git の基本を理解することは、GitHub をより効果的に使用するのに役立ちます。

上から下のレイヤーを含む GitHub プラットフォームの概念図:AI、コラボレーション、生産性、セキュリティ、スケール。

GitHub は、分散型バージョン管理システムである Git を中心に使用するクラウドベースのプラットフォームです。 GitHub プラットフォームにより、プロジェクトでの共同作業のプロセスが簡略化され、Web サイト、コマンドライン ツール、および開発者とユーザーが連携できるようにするための全体的なフローが提供されます。

前に説明したように、GitHub には、セキュリティで保護されたソフトウェアを構築、スケーリング、提供するための AI を利用した開発者プラットフォームが用意されています。 GitHub Enterprise プラットフォーム、AI、コラボレーション、生産性、セキュリティ、スケールの主要な柱のそれぞれを分解しましょう。

AI

ジェネレーティブ AI は、ソフトウェア開発を劇的に変革しています。 GitHub Enterprise プラットフォームは、AI を利用したプル要求と問題、Copilot、Copilot Chat、Copilotエージェントによる生産性、セキュリティを強化するためのより迅速なフィードバックを提供することで、コラボレーションを強化します。

コラボレーション

コラボレーションは GitHub が行うあらゆるものの中核です。 GitHub には、チームが効率的に連携し、遅延を減らし、ワークフローを合理化するのに役立つツールが用意されています。

リポジトリ、問題、プル要求、およびその他のツールは、ロール間の迅速なコラボレーションのサポート、承認サイクルの短縮、配信速度の向上に役立ちます。

生産性

生産性は、GitHub Enterprise プラットフォームによって提供される自動化によって高速化されます。 組み込みの CI/CD (継続的インテグレーションと継続的デリバリー) ツールを開発プロセスに直接統合することで、ユーザーは反復的なタスクを自動化し、毎日の作業を高速化できます。 これにより、開発者は問題のコーディングと解決に集中できます。

セキュリティ

GitHub は、最初からすべての段階で、開発プロセスにセキュリティを直接統合します。 GitHub Enterprise には、リスクを最小限に抑えるための CodeQLシークレット スキャンDependabotセキュリティの概要 などのネイティブのファースト パーティ機能が含まれています。 コードはプライベートのままですが、統合されたセキュリティ チェックの恩恵を受けます。

GitHub は、エンタープライズ レベルのセキュリティとコンプライアンスに引き続き投資しています。 厳しく規制されている業界の Microsoft および組織から信頼されている GitHub は、グローバルなコンプライアンス標準に準拠しているため、大規模な安全な開発のための信頼性の高い選択肢となります。

スケール

GitHub は、1 億人を超える開発者、4 億 2,000 万個のリポジトリ、数え切れないほどのデプロイからのリアルタイム データを含む、この種の最大の開発者コミュニティです。 GitHub は、その製品を継続的に学習し、進化させます。 その大規模なユーザー ベースは、開発者が何を必要とするかについて多様な視点を提供し、それらのニーズを満たすために継続的なイノベーションを推進します。 同時に、GitHub は拡張可能なプラットフォームであり、世界中のオープンソース開発者が GitHub を優れた機能に貢献し、強化します。

これは、地球上のどの企業とも比較にならない、驚異的な規模に変換されています。 この大規模な開発者ベースからの分析情報は、GitHub がプラットフォームを継続的に進化させるのに役立ちます。

GitHub Enterprise プラットフォームは、基本的に開発者エクスペリエンスに重点を置いています。 統合された開発者エクスペリエンスで生産性、セキュリティ、スケーラビリティをサポートするコラボレーション ツール、自動化、AI 主導の機能が提供されます。

次に、GitHub のバックボーンであるリポジトリについて説明します。

リポジトリの概要

最初に次の内容を確認しましょう。

  • リポジトリとは
  • リポジトリを作成する方法
  • リポジトリへのファイルの追加
  • リポジトリを検索する方法
  • gist、Wiki、GitHub ページの概要

リポジトリとは

リポジトリには、プロジェクトのすべてのファイルと各ファイルの改訂履歴が含まれています。 これは、ユーザーとの共同作業に役立つ重要な部分の 1 つです。 リポジトリを使用して、作業の管理、変更の追跡、リビジョン履歴の保存、他のユーザーとの作業を行うことができます。 詳しく調べる前に、まずリポジトリを作成する方法から始めましょう。

リポジトリを作成する方法

個人アカウントや必要な権限を持つどのような Organization にも新しいリポジトリを作成できます。

github.com からリポジトリを作成する方法を見てみましょう。

  1. 任意のページの右上隅にあるドロップダウン メニューを使用し、[ 新しいリポジトリ] を選択します。

    GitHub.com の右上隅にあるプラス記号のドロップダウン メニューのスクリーンショット。最初のオプションは [新しいリポジトリ] です。

  2. [ 所有者 ] ドロップダウン メニューを使用して、リポジトリを所有するアカウントを選択します。

    新しいリポジトリの所有者である必要があるユーザーのドロップダウン メニューのスクリーンショット。

  3. リポジトリの名前と、任意で説明を入力してください。

    リポジトリ名のテキスト ボックスの画像が強調表示されています。

  4. リポジトリの可視性を選択してください。

    • パブリック リポジトリ には、インターネット上のすべてのユーザーがアクセスできます。

    • プライベート リポジトリ には、ユーザー、明示的にアクセスを共有するユーザー、および組織リポジトリの特定の組織メンバーのみがアクセスできます。

  5. リポジトリの作成を選択すると、おめでとうございます! リポジトリを作成しました。

リポジトリを複製する方法

リポジトリを複製すると、コンピューター上にリポジトリのローカル コピーを作成できます。 これは、ローカルで変更を行い、リモート リポジトリに同期する場合に便利です。

  1. GitHub.com で、複製するリポジトリのメイン ページに移動します。

  2. ファイルの一覧の上にある [ コード ] ボタンをクリックします。

    クローン オプションを含む [コード] ボタンドロップダウン メニューのスクリーンショット。

  3. HTTPS、SSH、または GitHub CLI オプションを使用して、リポジトリの URL をコピーします。

  4. ターミナルを開き、リポジトリを複製するディレクトリに移動します。

  5. <repository-url>をコピーした URL に置き換えて、次のコマンドを実行します。

    git clone <repository-url>
    
  6. 複製プロセスが完了したら、リポジトリ フォルダーに移動します。

    cd <repository-name>
    

おめでとうございます! リポジトリのローカル コピーが作成されました。

次に、リポジトリにファイルを追加する方法を確認しましょう。

リポジトリにファイルを追加する方法

GitHub のファイルは、いくつかの処理を実行できますが、ファイルの主な目的は、プロジェクトに関するデータと情報を保存することです。 リポジトリにファイルを追加するには、少なくとも 書き込み アクセス権が必要です。

リポジトリにファイルを追加する方法を確認しましょう。

  1. GitHub.com で、リポジトリのメイン ページに移動します。

  2. リポジトリ内で、新しいファイルを作成するまたは既存のファイルをアップロードするリンクを選択し、ファイルを作成したいフォルダーを参照します。

  3. 追加したら、ファイルの一覧の上にある [ ファイルの追加] ᐁ ドロップダウン メニューを選択します。 次に、[ 新しいファイルの作成] を選択します。

    新しいリポジトリにファイルを追加するオプションのスクリーンショット。画面の右側にある [ファイルの追加] ボタンが赤で強調表示されています。

  4. ファイル名フィールドに、ファイルの名前と拡張子を入力します。 サブディレクトリを作るには、ディレクトリの区切り文字 / を入力します。

  5. [ファイル コンテンツ] テキスト ボックスに、ファイルの コンテンツ を入力します。

  6. 新しいコンテンツを確認するには、ファイルの内容の上にある [プレビュー] を選択します。

    左上にプレビュー ボタンが強調表示されている yml ファイルを示すスクリーンショット。

  7. [変更をコミット]を選択します。

  8. [ コミット メッセージ ] フィールドに、ファイルに加えた変更を説明する短くてわかりやすいコミット メッセージを入力します。 コミットメッセージでは、複数の作者にコミットを関連づけることができます。

  9. GitHub.com 上の自分のアカウントに複数のメール アドレスが関連付けられている場合、メール アドレスのドロップダウン メニューを選択します。 次に、Git 作成者のメール アドレスとして使用するメール アドレスを選択します。 このドロップダウンメニューには、検証済みのメールアドレスだけが表示されます。 メール アドレスのプライバシーを有効にした場合、"[username]@users.noreply.github.com" がコミット作成者の既定のメール アドレスになります。

    コミットの変更を示すスクリーンショット。説明ボックスと、コミットの作成者として選択する電子メールのドロップダウン メニュー。

  10. [ コミット メッセージ ] フィールドの下で、コミットを現在のブランチに追加するか、新しいブランチに追加するかを決定します。 現在のブランチが既定のブランチである場合は、コミット用に新しいブランチを作成し、pull request を作成することを選択する必要があります。

    コミット オプションの選択から新しいブランチを作成し、その下に新しいブランチのテキスト ボックスを表示するスクリーンショット。

  11. [ 変更のコミット] または [ 変更の提案] を選択します。

これで、リポジトリに新しいファイルが作成されました。 また、新しいブランチを作成してコミットすることもできました。

次のユニットでブランチとコミットを確認する前に、リポジトリに似ているため、gist、wiki、GitHub のページをすばやく確認しましょう。

Gists とは

Gists は、ユーザーが軽量で便利な方法でコード スニペット、メモ、またはその他の小さな情報を共有できる GitHub の機能です。 これらは基本的にミニ Git リポジトリです。つまり、完全なリポジトリと同様に、フォーク、複製、バージョン管理を行うことができます。 Gists は、完全なリポジトリを作成することなく、クイック ソリューション、構成ファイル、または例を共有する場合に特に便利です。

Gists の主な機能:

  1. パブリックとシークレットの Gists:

    • パブリック Gists: これらはすべてのユーザーに表示され、GitHub の検索機能を通じて検出できます。 これらは、より広範なコミュニティで使用できるようにするコード スニペットやソリューションを共有するのに最適です。
    • シークレットギスト: これらは検索可能でも公開されていませんが、完全にプライベートではありません。 URL を持つすべてのユーザーがアクセスできます。 コラボレーターやフレンドなど、限られた対象ユーザーとコードを共有する場合に便利です。
  2. バージョン 管理:

    • gist に加えられたすべての変更が追跡され、編集履歴を表示できます。 これにより、以前のバージョンに戻したり、スニペットが時間の経過とともにどのように進化したかを簡単に確認できます。
  3. フォークとクローン:

    • リポジトリと同様に、gists をフォークして複製できます。 これにより、他のユーザーは作業に基づいて構築したり、ニーズに合わせて調整したりできます。
  4. 埋め込み:

    • Gists は Web サイトやブログに埋め込むことができるため、チュートリアルやドキュメントでコード例を共有するための優れたツールになります。
  5. Markdown のサポート:

    • Gists では Markdown の書式設定がサポートされています。つまり、コードと共にリッチ テキスト、見出し、リンク、さらには画像を含めることができます。 これは、スニペットにコンテキストや説明を追加する場合に特に便利です。
  6. Collaboration:

    • 通常、gists は個々のスニペットに使用されますが、複数のユーザーが共有および共同作業を行うこともできます。 gists に対するフォークとコメントにより、軽量なコラボレーションが可能になります。

Gists のユース ケース:

  • クイック コードの例またはソリューションの共有。
  • 個人用に構成ファイルまたはスクリプトを格納する。
  • 一般的に使用されるコード パターン用のテンプレートを作成する。
  • エラー ログまたはデバッグ情報を他のユーザーと共有する。
  • ブログ、フォーラム、またはドキュメントにコード スニペットを埋め込む。

[!重要]

スクリプトや構成ファイルでも、Gists を使用して、パスワード、シークレット、API キーなどの機密データや機密データを格納しないでください。
Gistsは完全にプライベートではありません:秘密のギストでさえ、リンクを持つ誰でもアクセスできます。 共有する前に、常にコンテンツを慎重に確認してください。

Gists の制限事項:

  • Gists は、シークレットとしてマークされている場合でも、完全にプライベートではありません。 URL を持つすべてのユーザーがアクセスできるため、機密情報や機密情報には使用しないでください。
  • 小さなスニペットや単一のファイルに最適です。 大規模なプロジェクトや複数ファイル構造の場合は、完全なリポジトリの方が適しています。

gists を作成および管理する方法の詳細については、このモジュールの「リソース」セクションの GitHub ドキュメントを参照するか、 GitHub Gists のドキュメントを参照してください。

フォークと複製の Gists

gist をフォークして、自分のアカウントに他のユーザーの gist のコピーを作成できます。

  1. フォークする gist に移動します。
  2. gist ページの右上にある [フォーク ] を選択します。

gist をローカルに複製するには:

git clone https://gist.github.com/your-gist-id.git

gist の詳細については、このモジュールの最後にある「Gists の作成」というタイトルの「リソース」セクションでリンクされている記事を参照してください。


wiki とは

GitHub.com 上のすべてのリポジトリには、wiki と呼ばれるドキュメントをホストするためのセクションが用意されています。 リポジトリのウィキは、プロジェクトの利用方法、設計方法、中核的な原理など、プロジェクトに関する長いコンテンツを共有するために利用できます。 README ファイルを使用すれば、プロジェクトで何ができるかがすぐにわかりますが、wiki を使用すると追加のドキュメントを提供できます。

リポジトリがプライベートの場合は、少なくともリポジトリへの読み取りアクセス権を持つユーザーのみが wiki にアクセスできます。

Wiki ページの作成、編集、および削除

GitHub Wiki を使用して、プロジェクトのドキュメントを作成および管理できます。

Wiki ページを作成するには:

  1. リポジトリに移動します。
  2. [Wiki] タブを選択します。
  3. ページが存在しない場合 は [最初のページを作成 する] を選択し、ページを追加するには [新しいページ ] を選択します。
  4. タイトルとコンテンツを入力し、[ ページの保存] を選択します。

Wiki ページを編集するには:

  1. 編集する Wiki ページに移動します。
  2. 右上の [編集] を選択します。
  3. 変更を加え、[ ページの保存] を選択します。

Wiki ページを削除するには:

  • Wiki ページを削除するには、Git を使用する必要があります。 Wiki リポジトリを複製し、ファイルを削除して、変更をプッシュします。

Wiki の管理の詳細については、 GitHub Docs - Wiki ページの追加または編集に関するページを参照してください。

機能プレビューとは

機能プレビューでは、正式にリリースされる前に、GitHub で試験的な機能を試すことができます。 これらのプレビューでは、新機能に早期にアクセスでき、最終製品の形成に役立つフィードバックを提供できます。

機能プレビューを有効または無効にするには:

  1. GitHub.com の右上隅にあるプロファイル画像を選択して、GitHub アカウントに移動します。
  2. ドロップダウン メニューから [機能のプレビュー ] を選択します。
  3. 使用可能なプレビューの一覧を参照し、試したい機能を切り替えます。

機能プレビューは、曲線を先取りし、GitHub エクスペリエンスを強化できる新しいツールを探索するための優れた方法です。

ヒント

GitHub では、ユーザーが探索するための新しい試験的な機能が頻繁に追加されるため、 機能レビュー を見て新しいツールや拡張機能を見つけます。