Факт 1: Проекти та сховища завжди були синонімами на GitHub.
Факт 2: Це вже не так.
Є багато плутанини щодо сховищ та проектів. Раніше обидва терміни користувалися значною мірою взаємозамінно користувачами та власною власною документацією GitHub. Це відображається в деяких відповідях та коментарях, які пояснюють тонкі відмінності між цими термінами і коли один віддавав перевагу іншому. Різниця завжди була тонка, наприклад, наприклад, як трекер випуску є частиною проекту, але не є частиною сховища, яке може вважатися суто git річ тощо.
Більше не.
В даний час репозиції та проекти стосуються різних типів організацій, які мають окремі API :
З тих пір більше не правильно називати проект репо або навпаки. Зауважте, що це часто плутається в офіційній документації, і шкода, що термін, який уже широко застосовувався, був обраний як назва нової сутності, але це так, і ми повинні з цим жити.
Наслідком цього є те, що репости та проекти зазвичай плутаються, і кожного разу, коли ви читаєте про проекти GitHub, вам належить задатися питанням, чи це насправді про проекти чи про репости. Якби вони обрали якусь іншу назву чи абревіатуру на кшталт "proj", тоді ми могли б знати, що йдеться про новий тип сутності, точний об'єкт з конкретними властивостями або загально кажучи репо-подібний проектний вид.
Термін, який, як правило, однозначний, - це «дошка проектів» .
Про що ми можемо дізнатися з API
Перша кінцева точка в документації API Проектів:
описується як: Список проектів сховища . Це означає, що сховище може мати багато проектів. Тож ці двоє не можуть означати одне і те ж. Він включає відповідь, якщо проекти відключені :
{
"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. Репозиторії можуть належати організаціям та користувачам
Дивитися також:
Я знаю, що це заплутано. Я намагався пояснити це якомога точніше.