事実1:プロジェクトとリポジトリは常にGitHubの同義語でした。
事実2:これはもう当てはまりません。
リポジトリとプロジェクトについては多くの混乱があります。以前は、両方の用語がユーザーとGitHubの独自のドキュメントでほとんど同じ意味で使用されていました。これは、これらの用語間の微妙な違いと、一方が他方よりも好まれる時期を説明するここでの回答とコメントの一部に反映されています。違いは常に微妙でした。たとえば、課題追跡がプロジェクトの一部であるが、厳密にはgitのものと考えられるリポジトリの一部ではないなど。
もう違います。
現在、リポジトリとプロジェクトは、別々のAPIを持つさまざまな種類のエンティティを参照しています。
それ以来、レポをプロジェクトと呼ぶこと、またはその逆を行うことはもはや正しくありません。公式ドキュメントではしばしば混乱していることに注意してください。すでに広く使用されている用語が新しいエンティティの名前として選択されているのは残念ですが、これは事実です。
その結果、リポジトリとプロジェクトは通常混乱し、GitHubプロジェクトについて読むたびに、それが本当にプロジェクトに関するものなのか、それともリポジトリに関するものなのか疑問に思う必要があります。彼らが他の名前または「proj」のような略語を選択した場合、説明されているのは、新しいタイプのエンティティ、具体的なプロパティを持つ正確なオブジェクト、または一般的に言えばレポのようなプロジェクトのようなものです。
通常、明確な用語は「プロジェクトボード」です。
APIから何を学ぶことができるか
Projects APIのドキュメントの最初のエンドポイント:
の説明は次のとおりです。つまり、リポジトリは多くのプロジェクトを持つことができます。したがって、これら2つが同じことを意味することはできません。プロジェクトが無効になっている場合の応答が含まれます。
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
つまり、一部のリポジトリはプロジェクトを無効にすることができます。繰り返しになりますが、リポジトリがプロジェクトを無効にできる場合、これらは同じことではありません。
他にも興味深いエンドポイントがいくつかあります。
- リポジトリプロジェクトを作成する -
POST /repos/:owner/:repo/projects
- 組織プロジェクトを作成する -
POST /orgs/:org/projects
しかしありません:
ユーザーのプロジェクトを作成 -POST /users/:user/projects
これにより、別の違いが生じます。
1.リポジトリはユーザーまたは組織に属することができます
2.プロジェクトはリポジトリまたは組織に属することができます
または、より重要なこと:
1.プロジェクトはリポジトリに所属できますが、その逆はできません
2.プロジェクトは組織に所属
できますが、ユーザーには所属できません3.リポジトリは組織とユーザーに所属できます
以下も参照してください。
私はそれが混乱していることを知っています。私はそれをできるだけ正確に説明しようとしました。