Gerçek 1: Projeler ve Depolar GitHub'da her zaman eşanlamlıydı.
Gerçek 2: Artık böyle değil.
Depolar ve Projeler hakkında çok fazla kafa karışıklığı var. Geçmişte her iki terim de kullanıcılar ve GitHub'ın kendi belgeleri tarafından hemen hemen birbirinin yerine kullanılıyordu. Bu, bu terimler arasındaki ve birinin diğerine göre ne zaman tercih edildiğini açıklayan bazı cevaplar ve yorumlarla yansıtılmaktadır. Aradaki fark izleyicinin projenin bir parçası olması, ancak kesinlikle gitmiş bir şey olarak düşünülebilecek deponun bir parçası olmaması gibi fark her zaman inceydi.
Artık değil.
Şu anda depolar ve projeler , ayrı API'lara sahip farklı türde varlıkları ifade eder :
O zamandan beri repoya bir proje demek ya da tam tersi doğru değil. Resmi belgelerde sıklıkla karıştırıldığını ve zaten yaygın olarak kullanılan bir terimin yeni varlığın adı olarak seçilmesinin talihsiz olduğunu unutmayın, ancak durum budur ve bununla yaşamak zorundayız.
Sonuç olarak, depoların ve projelerin genellikle kafası karışır ve GitHub projeleri hakkında her okuduğunuzda bunun gerçekten projeler veya depolarla ilgili olup olmadığını merak etmeniz gerekir. Başka bir isim veya "proj" gibi bir kısaltma seçtilerse, tartışılan şeyin yeni tür varlık, somut özelliklere sahip kesin bir nesne veya genel olarak konuşan repo benzeri mermi türü bir şey olduğunu bilebilirdik.
Genellikle açık olan terim "proje tahtası" dır .
API'dan ne öğrenebiliriz
Projeler API'sının dokümantasyonundaki ilk uç nokta:
şu şekilde tanımlanır: Havuz projelerini listeleyin . Bir havuzun birçok projeye sahip olabileceği anlamına gelir. Yani bu ikisi aynı anlama gelemez. Projeler devre dışı bırakılmışsa Yanıt içerir :
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
bu da bazı depoların projeleri devre dışı bırakabileceği anlamına gelir. Yine, bir repoda projeler devre dışı bırakılabilirse bunlar aynı şey olamaz.
Başka ilginç son noktalar da var:
- Havuz projesi oluşturma -
POST /repos/:owner/:repo/projects
- Bir organizasyon projesi oluşturun -
POST /orgs/:org/projects
ama yok :
Bir kullanıcının projesi oluşturun -POST /users/:user/projects
Bu bizi başka bir farka götürür:
1. Depolar kullanıcılara veya kuruluşlara
ait olabilir 2. Projeler depolara veya kuruluşlara ait olabilir
veya daha da önemlisi:
1. Projeler depolara ait olabilir, ancak tam
tersi olamaz 2. Projeler kuruluşlara ait olabilir ancak kullanıcılara
ait olmayabilir 3. Depolar kuruluşlara ve kullanıcılara ait olabilir
Ayrıca bakınız:
Kafa karıştırıcı olduğunu biliyorum. Bunu olabildiğince açıklamaya çalıştım.