Hecho 1: Proyectos y repositorios siempre fueron sinónimos en GitHub.
Hecho 2: Este ya no es el caso.
Hay mucha confusión sobre los repositorios y proyectos. En el pasado, ambos términos se usaban de manera bastante intercambiable por los usuarios y la propia documentación de GitHub. Esto se refleja en algunas de las respuestas y comentarios que explican las diferencias sutiles entre esos términos y cuándo se prefirió uno sobre el otro. La diferencia siempre fue sutil, por ejemplo, como el rastreador de problemas como parte del proyecto pero no como parte del repositorio, que podría considerarse estrictamente git, etc.
Ya no.
Actualmente los repositorios y proyectos se refieren a diferentes tipos de entidades que tienen API separadas :
Desde entonces, ya no es correcto llamar al repositorio un proyecto o viceversa. Tenga en cuenta que a menudo se confunde en la documentación oficial y es lamentable que se haya elegido un término que ya se usaba ampliamente como el nombre de la nueva entidad, pero este es el caso y tenemos que vivir con eso.
La consecuencia es que los repositorios y los proyectos generalmente se confunden y cada vez que lees sobre proyectos de GitHub tienes que preguntarte si realmente se trata de los proyectos o de los repositorios. Si hubieran elegido algún otro nombre o una abreviatura como "proj", entonces podríamos saber que lo que se discute es el nuevo tipo de entidad, un objeto preciso con propiedades concretas o un tipo de cosita proyectil tipo repositorio.
El término que generalmente no es ambiguo es "junta de proyecto" .
¿Qué podemos aprender de la API?
El primer punto final en la documentación de la API de proyectos:
se describe como: Lista de proyectos de repositorio . Significa que un repositorio puede tener muchos proyectos. Entonces esos dos no pueden significar lo mismo. Incluye respuesta si los proyectos están deshabilitados :
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
lo que significa que algunos repos pueden tener proyectos deshabilitados. Nuevamente, eso no puede ser lo mismo cuando un repositorio puede tener proyectos deshabilitados.
Hay algunos otros puntos finales interesantes:
- Crear un proyecto de repositorio -
POST /repos/:owner/:repo/projects
- Crear un proyecto de organización -
POST /orgs/:org/projects
pero no hay ninguna :
Crear el proyecto de un usuario -POST /users/:user/projects
Lo que nos lleva a otra diferencia:
1. Los repositorios pueden pertenecer a usuarios u organizaciones
2. Los proyectos pueden pertenecer a repositorios u organizaciones
o, lo que es más importante:
1. Los proyectos pueden pertenecer a repositorios pero no al revés
2. Los proyectos pueden pertenecer a organizaciones pero no a usuarios
3. Los repositorios pueden pertenecer a organizaciones y usuarios
Ver también:
Sé que es confuso. Traté de explicarlo con la mayor precisión posible.