Fakta 1: Proyek dan Gudang selalu sinonim di GitHub.
Fakta 2: Ini bukan lagi masalahnya.
Ada banyak kebingungan tentang Repositori dan Proyek. Di masa lalu kedua istilah itu digunakan cukup banyak secara bergantian oleh pengguna dan dokumentasi GitHub sendiri. Ini tercermin oleh beberapa jawaban dan komentar di sini yang menjelaskan perbedaan halus antara istilah-istilah itu dan ketika yang satu lebih disukai daripada yang lain. Perbedaannya selalu halus, misalnya seperti pelacak masalah menjadi bagian dari proyek tetapi bukan bagian dari repositori yang mungkin dianggap sebagai hal yang sangat git dll.
Tidak lagi.
Saat ini repo dan proyek merujuk ke berbagai jenis entitas yang memiliki API terpisah :
Sejak itu tidak lagi benar untuk memanggil repo proyek atau sebaliknya. Perhatikan bahwa sering bingung dalam dokumentasi resmi dan sangat disayangkan bahwa istilah yang sudah banyak digunakan telah dipilih sebagai nama entitas baru tetapi ini adalah kasusnya dan kita harus hidup dengan itu.
Konsekuensinya adalah bahwa repo dan proyek biasanya bingung dan setiap kali Anda membaca tentang proyek GitHub Anda harus bertanya-tanya apakah itu benar-benar tentang proyek atau tentang repo. Seandainya mereka memilih beberapa nama lain atau singkatan seperti "proj" maka kita bisa tahu bahwa yang dibahas adalah tipe entitas baru, objek yang tepat dengan properti konkret, atau jenis proyeksi seperti repo yang mirip proyektor.
Istilah yang biasanya tidak ambigu adalah "papan proyek" .
Apa yang bisa kita pelajari dari API
Titik akhir pertama dalam dokumentasi API Proyek:
dijelaskan sebagai: Daftar proyek repositori . Ini berarti repositori dapat memiliki banyak proyek. Jadi keduanya tidak bisa berarti hal yang sama. Ini termasuk Respons jika proyek dinonaktifkan :
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
yang berarti bahwa beberapa repo dapat menonaktifkan proyek. Sekali lagi, itu tidak bisa menjadi hal yang sama ketika repo dapat menonaktifkan proyek.
Ada beberapa titik akhir lain yang menarik:
- Buat proyek repositori -
POST /repos/:owner/:repo/projects
- Buat proyek organisasi -
POST /orgs/:org/projects
tetapi tidak ada :
Buat proyek pengguna -POST /users/:user/projects
Yang membawa kita ke perbedaan lain:
1. Repositori dapat menjadi milik pengguna atau organisasi
2. Proyek dapat menjadi milik repositori atau organisasi
atau, yang lebih penting:
1. Proyek dapat menjadi milik repositori tetapi tidak sebaliknya
2. Proyek dapat menjadi milik organisasi tetapi bukan untuk pengguna
3. Repositori dapat milik organisasi dan pengguna
Lihat juga:
Saya tahu ini membingungkan. Saya mencoba menjelaskannya setepat mungkin.