リポジトリについて
リポジトリは、 GitHubの最も基本的な要素です。 これは、コード、ファイル、各ファイルのリビジョン履歴を格納できる場所です。 リポジトリには複数のコラボレーターを含めることができます。パブリック、、内部、 、プライベートのいずれかです。
新しいリポジトリを作成するには、https://github.com/new に移動します。 手順については、「リポジトリのクイック スタート」を参照してください。
リポジトリの用語
リポジトリの使用を開始するにあたって、重要な用語を以下に説明します。
| 期間 | Definition |
|---|---|
| [Branch](ブランチ) | コードの並列バージョンで、リポジトリ内に格納されていますが、プライマリ ブランチ (メイン ブランチ) には影響しないバージョンです。 |
| 複製 | |
| GitHub.comからリポジトリのデータの完全なコピー (すべてのファイルとフォルダーのすべてのバージョンを含む) をダウンロードします。 | |
| Fork | コードおよび可視性の設定を元の "上流" リポジトリと共有する新しいリポジトリです。 |
| マージする | あるブランチから変更を取得し、別のブランチに適用すること。 |
| Pull request(プルリクエスト) | あるブランチから別のブランチに変更をマージするリクエスト。 |
| Remote | コンピューターではなく、 GitHubに格納されているリポジトリ。 |
| アップストリーム | フォークまたはクローンの元になったリポジトリのブランチ。 クローンまたはフォークされたリポジトリ上の対応するブランチは、"ダウンストリーム" と呼ばれます。 |
リポジトリの所有権
リポジトリを個人として所有することも、リポジトリの所有権を Organization 内の他の人々と共有することもできます。
どちらの場合も、リポジトリへのアクセスはアクセス許可によって管理されます。 詳細については、「個人アカウントのリポジトリの権限レベル」および「Organizationのリポジトリロール」を参照してください。
コラボレーション
リポジトリを使用して、作業を管理し、他のユーザと共同作業を行うことができます。
- Issue を使用して、ユーザフィードバックの収集、ソフトウェアバグの報告、および実行するタスクの整理を行うことができます。 詳細については、 AUTOTITLE を参照してください。
- GitHub Discussions を使用すると、質問、質問への回答、情報の共有、発表、および製品に関する会話や会話への参加を行うことができます。 詳しくは、「ディスカッションについて」をご覧ください。
- プルリクエストを使用して、リポジトリへの変更を提案できます。 詳しくは、「Pull Request」をご覧ください。
- Projectsを使用して、問題とプル要求を整理し、優先順位を付けることができます。 詳しくは、「Projects の概要」をご覧ください。
個人のアカウントと組織の GitHub Free を使用すると、完全な機能セットを持つ無制限のパブリック リポジトリ、または制限付き機能セットを持つ無制限のプライベート リポジトリで無制限のコラボレーターと連携できます。 プライベート リポジトリの高度なツールを取得するには、 GitHub Pro、 GitHub Team、または GitHub Enterprise Cloudにアップグレードします。 「GitHubのプラン」を参照してください。
リポジトリの可視性について
リポジトリの可視性を選択することで、リポジトリへのアクセス権を持つユーザーを制限できます( public、internal、private。
リポジトリを作成するときに、リポジトリをパブリックまたはプライベートにすることができます。 エンタープライズ アカウントが所有する組織 リポジトリを作成する場合リポジトリを内部にすることもできます。
- アカウントが マネージド ユーザー アカウントでない場合は、パブリック リポジトリを作成できます。 パブリック リポジトリには、インターネット上のすべてのユーザーがアクセスできます。
- プライベートリポジトリには、自分、明示的にアクセスを共有するユーザ、および Organization リポジトリの場合は特定の Organization メンバーのみがアクセスできます。
- 内部リポジトリには、すべての Enterprise メンバーがアクセスできます。 詳しくは、「内部リポジトリ」をご覧ください。
リポジトリの可視性に関するセキュリティ上の考慮事項
公開リポジトリの場合、コードベースはすべてのユーザーに公開されるため、攻撃者が脆弱性を悪用したり、機密情報にアクセスしたりするリスクが高まります。 リポジトリのGitHub、Dependabot、プッシュ保護、secret scanningなどのcode scanningセキュリティ機能を有効にすることで、これらのリスクを軽減できます。 さらに、潜在的な脅威が効率的に対処されることを確実にするために、脆弱性の報告方法を示すセキュリティ ポリシー (SECURITY.md ファイル) をリポジトリに追加する必要があります。
プライベート リポジトリの場合、認可されたユーザーのみにアクセスが制限されますが、リスクを軽減するために、強力なアクセス制御、多要素認証、定期的な監査を実装することが依然として不可欠です。
詳しくは、「リポジトリを保護するためのクイック スタート」をご覧ください。
Organization のオーナーは、Organization 内で作成されたすべてのリポジトリにいつでもアクセスできます。 詳しくは、「Organizationのリポジトリロール」をご覧ください。
リポジトリの管理者権限を持つユーザは、既存のリポジトリの可視性を変更できます。 詳しくは、「リポジトリの可視性を設定する」をご覧ください。
インターナルリポジトリについて
組織がエンタープライズ アカウントによって所有されている場合、内部リポジトリを使用して、エンタープライズ内で "インナーソース" を練習できます。 Enterpriseアカウントのメンバーは、プロプライエタリな情報をパブリックに共有することなく、オープンソースの方法論を用いてコラボレートできます。 innersource の詳細については、 企業での innersource の使用 を参照してください。
メモ
内部リポジトリは、エンタープライズ アカウントで GitHub Enterprise Cloud を使用する場合にのみ作成できます。 Enterprise アカウントは、複数の Organization の集中管理を可能にする別の種類のアカウントです。 詳しくは、「GitHub アカウントの種類」をご覧ください。
組織のメンバーには、企業内のすべての内部リポジトリ (メンバーではない組織内のリポジトリを含む) に対する読み取りアクセス許可があります。 内部リポジトリは、組織リポジトリの外部コラボレーターを含め企業の外部ユーザーには表示されません。 詳細については、「企業における役割の能力」および「Organizationのリポジトリロール」を参照してください。
インターナル リポジトリは、エンタープライズのアカウントが所有する組織内で作成されるすべての新規リポジトリに既定の設定です。
既定では、Enterprise メンバーは、ユーザーがリポジトリを作成することが可能な任意の Organization に、内部リポジトリをフォークできます。 Organization の所有者は、ユーザー アカウントが所有するフォークの作成をユーザーに許可したり、組織のフォーク ポリシーを管理したりすることもできます。 Enterprise の所有者は、Enterprise 内の一部またはすべての Organization のフォーク ポリシーを管理できます。 詳細については、「Organization のフォークポリシーを管理する」および「Enterprise でリポジトリ管理ポリシーを適用する」を参照してください。
次のステップ
リポジトリを使用する次のステップに進む際は、以下のリソースが役立ちます。
- リポジトリのベスト プラクティス: リポジトリを最も効果的に使用する方法を説明します。
- 新しいリポジトリの作成: 新しいリポジトリを作成します。
- リポジトリ内のブランチの管理: リポジトリ内でブランチを作成および削除する方法について説明します。
- pull request の作成: リポジトリへの変更の提案や共同作業を行うための pull request を作成します。