तथ्य 1: प्रोजेक्ट और रिपॉजिटरी हमेशा GitHub पर समानार्थी थे।
तथ्य 2: अब ऐसा नहीं है।
रिपोजिटरीज़ और प्रोजेक्ट्स को लेकर बहुत भ्रम है। पूर्व में दोनों शब्दों का उपयोग उपयोगकर्ताओं द्वारा बहुत अधिक रूप से किया गया था और GitHub का बहुत ही दस्तावेज़ीकरण था। यह उन कुछ उत्तरों और टिप्पणियों से परिलक्षित होता है, जो उन शब्दों के बीच के सूक्ष्म अंतर को स्पष्ट करते हैं और जब एक को दूसरे पर पसंद किया जाता है। अंतर हमेशा सूक्ष्म था, जैसे कि मुद्दा ट्रैकर परियोजना का हिस्सा है लेकिन रिपॉजिटरी का हिस्सा नहीं है जिसे एक सख्ती से बात के रूप में सोचा जा सकता है आदि।
अब नहीं है।
वर्तमान में रिपॉज और प्रोजेक्ट्स एक अलग प्रकार की संस्थाओं को संदर्भित करते हैं जिनके पास अलग-अलग एपीआई हैं :
तब से रेपो को परियोजना या इसके विपरीत कहना सही नहीं है। ध्यान दें कि यह अक्सर आधिकारिक दस्तावेज में भ्रमित होता है और यह दुर्भाग्यपूर्ण है कि एक शब्द जो पहले से ही व्यापक रूप से उपयोग किया गया था, उसे नई इकाई के नाम के रूप में चुना गया है लेकिन यह मामला है और हमें उसी के साथ रहना होगा।
परिणाम यह है कि रिपोज और प्रोजेक्ट आमतौर पर भ्रमित होते हैं और हर बार जब आप गीथहब प्रोजेक्ट्स के बारे में पढ़ते हैं तो आपको आश्चर्य होता है कि क्या यह वास्तव में प्रोजेक्ट्स के बारे में है या रेपो के बारे में है। अगर उन्होंने किसी अन्य नाम या "संक्षिप्त नाम" जैसे एक संक्षिप्त नाम को चुना होता, तो हम जान सकते थे कि चर्चा किस प्रकार की इकाई है, ठोस गुणों के साथ एक सटीक वस्तु, या सामान्य बोलने वाले रेपो जैसी परियोजना की तरह।
शब्द जो आमतौर पर अस्पष्ट है, वह है "प्रोजेक्ट बोर्ड" ।
हम एपीआई से क्या सीख सकते हैं
प्रोजेक्ट्स 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. रिपॉजिटरी संगठनों और उपयोगकर्ताओं की हो सकती हैं
यह सभी देखें:
मुझे पता है कि यह भ्रामक है। मैंने इसे ठीक-ठीक समझाने की कोशिश की।