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複数くらいの構成から始めると良いかと思います。以上。
LINK
TAGS
LATESTS
POPULAR
- CSS2021/04/29【CSS】右寄せの方法は結局flexが一番良さそう
- React2020/07/13【JS】Reactのstyleの使い方、書き方いろいろ
- Payment2021/10/16GooglePayでVisaタッチを使う時に知っておきたい過酷な現実【追記あり】
- Others2021/07/11Slackに予約投稿機能ができて嬉しいけどそれでもまだ少し不満な理由【追記あり】
- CSS2020/04/30【CSS】tailwind.cssでよく使うデザインパターン
- CSS2019/03/30【CSS】100vhは「一画面」ではないという罠
- CSS2020/06/09【CSS】max-font-sizeやmin-font-sizeを使いたくなったら
- Vue2019/06/29【JS】Vueの:classの書き方3通り
- JavaScript2020/09/02【JS】yarnの長所とyarnからnpmに戻ってきた理由
- React2020/06/04【JS】ReactのclassNameの色々な書き方紹介