사실 1 : 프로젝트와 리포지토리는 항상 GitHub의 동의어였습니다.
사실 2 : 더 이상 그렇지 않습니다.
리포지토리와 프로젝트에 대해 많은 혼란이 있습니다. 과거에는 두 용어가 사용자와 GitHub의 자체 문서에서 거의 상호 교환 적으로 사용되었습니다. 여기에는이 용어들 사이의 미묘한 차이점과 다른 용어보다 선호되는시기를 설명하는 여기에있는 일부 답변과 의견이 반영되어 있습니다. 차이는 항상 미묘했습니다. 예를 들어 이슈 트래커는 프로젝트의 일부이지만 엄격하게 자식으로 간주 될 수있는 리포지토리의 일부는 아닙니다.
더 이상은 아닙니다.
현재 repos와 프로젝트 는 별도의 API 를 가진 다른 종류의 엔티티 를 참조합니다 .
그 이후로 더 이상 repo를 프로젝트로 호출하거나 그 반대로 호출하는 것은 올바르지 않습니다. 그것은 공식 문서에서 종종 혼동되며 이미 널리 사용되는 용어가 새로운 실체의 이름으로 선택되었다는 것은 불행한 일입니다.
결과적으로 repos와 프로젝트가 혼란스럽고 GitHub 프로젝트에 대해 읽을 때마다 실제로 프로젝트에 관한 것인지 repos에 관한 것인지 궁금해해야합니다. 그들이 "proj"와 같은 다른 이름이나 약어를 선택했다면, 논의 된 것은 새로운 유형의 실체, 구체적인 속성을 가진 정확한 대상, 또는 일반적인 말하기 레포와 같은 투사 같은 것임을 알 수 있습니다.
일반적으로 모호하지 않은 용어는 "프로젝트 보드" 입니다.
API에서 무엇을 배울 수 있습니까
Projects API 문서의 첫 번째 엔드 포인트 :
목록 저장소 프로젝트 로 설명됩니다 . 이는 저장소에 많은 프로젝트가있을 수 있음을 의미합니다. 따라서이 둘은 같은 것을 의미 할 수 없습니다. 프로젝트가 비활성화 된 경우 응답 이 포함됩니다 .
{
"message": "Projects are disabled for this repo",
"documentation_url": "https://developer.github.com/v3"
}
이는 일부 repos가 프로젝트를 비활성화 할 수 있음을 의미합니다. 리포지토리에서 프로젝트를 비활성화 할 수있는 경우에도 마찬가지입니다.
다른 흥미로운 엔드 포인트가 있습니다.
- 리포지토리 프로젝트 만들기 -
POST /repos/:owner/:repo/projects
- 조직 프로젝트 만들기 -
POST /orgs/:org/projects
그러나 없습니다 :
사용자 프로젝트 만들기 -POST /users/:user/projects
이것은 또 다른 차이점으로 이어집니다.
1. 리포지토리는 사용자 또는 조직에 속할 수 있습니다
에 속할 수 있습니다. 2. 프로젝트는 저장소 또는 조직에 속할 수 있습니다.
또는 더 중요한 것은 :
1. 프로젝트는 리포지토리에 속할 수 있지만 다른 방법으로
는 할 수 없습니다. 2. 프로젝트는 조직에 속할 수 있지만 사용자에게는
속할 수 없습니다. 3. 리포지토리는 조직 및 사용자에 속할 수 있습니다
또한보십시오:
혼란 스럽습니다. 최대한 정확하게 설명하려고 노력했습니다.