JavaScriptに関するお知らせ

SINCE2019
>
GitHubのOrganization・Team・Repository・Project・Wikiの関係性(わかりにくい!)

GitHubのOrganization・Team・Repository・Project・Wikiの関係性(わかりにくい!)


こんにちは!GitHubなしでは生きてゆけないMizutani(@sirycity)です。Webエンジニアあるある。

今日はそんなGitHubのややこしいやつらの関係性についてです。こいつら↓

  • Organization
  • Team
  • Repository
  • Project
  • Wiki

※一応しっかり調べてますが間違ってたらごめんね

Organization・Team・Repositoryは簡単!

この3つはわりと分かりやすいです。Organizationの中にたくさんteamがあって、その中にたくさんRepositoryがあります。

Organizationの中に直接あるRepository(Teamに入らないRepository)もあります。Organizationに入らないRepositoryもあります。ただしTeamは必ずOrganizationに入ります。

TeamがTeamに入ることもあります。んで、Teamの中のTeamの中にさらにTeamが入ることもあります。ただし、Organizationの中にOrganizationは入れません。Repositoryの中にRepositoryも無理です。言い方を変えるとTeamは親Team-子Teamみたいな概念があります。他2つにはありません。

なお複数のOrganizationに入ることもできます。Teamも複数入ることができます。複数のRepositoryは...もちろんOKです。Teamは親Teamに入ったら子Teamに自動的に入ります。が、Projectに入ってもTeamには勝手には入りません。

Projectはちょっと分かりにくい

Projectは指定した区分の中にあるRepositoryの諸々を管理できる機能です。

ProjectはOrganization・Team・Repository に対して作ることができます。例えば1つのOrganizationに対してたくさんのProjectを作れます。Organizationに作ったProjectでは、そのOrganizationの中にあるRepositoryのうち選択したもの全てを取り扱えます。

Teamも一緒です。1つのTeamに対してProject100個作ってもOK。Teamに作ったProjectでは、そのTeamの中にあるRepositoryのうち選択したもの全てを取り扱えます。

Repositoryも同じ。1個のRepositoryにProject1000個作っても大丈夫。Repositoryに作ったProjectで扱えるのはそのRepositoryだけ です。

ちなみに、Organizationの中に入ったTeamsの中に入ったRepository みたいな構成でも、それぞれ3つに対して別々にProjectを作ることができます。もちろんいくつでも。

んで、それらのProject間に何らかの関わりがあるわけではありません。親Project-子Projectみたいな概念はありません。

Project(Beta)について

なお、Projectは実は2種類あります。ProjectとProject(Beta)です。微妙に挙動が違います。Project(旧)はOrganizationもしくはTeamに作った場合に取り扱うRepositoryたちを選ぶ という作業があったのに対してProject(Beta)は選べるRepositoryは勝手に全部選んだ状態になります。とはいえ、別にそんなに違いはないです。

Wikiについて

Wikiもまあまあ分かりにくいです。

まず、WikiはRepositoryにしか作れません。OrganizationやTeamには作れません。なので会社のWikiとかチームのWikiとかは作れません。

Repositoryに対してはいくつでも作れます。ただし公開リポジトリにしか作れません。なので秘匿情報は載せれません。

さいごに

GitHub、複雑ですね。書いてて自分でもよく分からなくなってきました。表とかあると分かりやすいかも...

GitHubはエンジニアである以上ほぼ必須ツールではありますが複雑すぎるので、最初のうちはOrganizationとProject1つずつ、Repository複数くらいの構成から始めると良いかと思います。以上。



PREV
2022-02-10
GCPの最小構成のDBの料金は1日30円くらい

NEXT
2022-02-18
【JS】オブジェクト省略記法の使い方とOptionalChainingと併用できない話