क्या मैं गितुब पर फ़ोल्डर्स में रिपॉजिटरी की व्यवस्था कर सकता हूं?


158

मैं गिट के लिए नया हूं और अब मैं जो कुछ भी कर रहा हूं वह अपने सभी हालिया प्रोजेक्ट्स को रिपॉजिटरी के रूप में जीथब पर अपलोड करना है। बहुत से अलग-अलग प्रोजेक्ट हैं जैसे कि वेबसाइड, वर्डप्रेस थीम और विभिन्न प्रकार के एप्लिकेशन। और इनमें से कुछ भी बड़ी परियोजनाओं से संबंधित हैं क्योंकि वे एक अलग एप्लिकेशन के रूप में कुछ सामानों के परीक्षण के बारे में थे।

समस्या यह है कि मेरे पास अब ऑनलाइन एक भ्रामक राशि है। मैं फ़ोल्डर संरचना में संबंधित जीथब रिपॉजिटरी कैसे समूह कर सकता हूं? क्या जीथब पर ऑर्डर और स्ट्रक्चर या यहां तक ​​कि रिपॉजिटरी को टैग करने की क्षमता प्रदान करने वाली कोई सुविधा है?


1
@ user478212 प्रश्न रिपॉजिटरी की व्यवस्था करने के बारे में है, न कि किसी एकल रिपॉजिटरी के भीतर फाइलें।
दानीजार

"फ़ोल्डर्स" के सबसे पास आज "प्रोजेक्ट्स" होगा (फरवरी 2019): नीचे मेरा अपडेट किया गया जवाब देखें
VonC

"प्रोजेक्ट्स" हालांकि सीधे फ़ोल्डरों का अनुकरण नहीं करते हैं। फ़ोल्डरों को अनुकरण करने का एक और सीधा तरीका विवरण टैगिंग का उपयोग करना हो सकता है, जैसा कि नीचे मेरे उत्तर में वर्णित है ।
पेट्र554

जवाबों:


68

जब तक आप संगठन नहीं बनाते हैं, तब तक GitHub पर, आप अपने रिपॉज को "फ़ोल्डर" द्वारा समूहबद्ध नहीं कर सकते । उदाहरण के लिए, सबलाइमटेक्स्ट पैकेज रिपॉज के समूह के रूप में, सबलाइमटेक्स्ट
देखें ।

लेकिन यह एक नेस्टेड फ़ोल्डर संगठन का समर्थन नहीं करेगा। अभी (जून 2017) के लिए, यह केवल एक नेस्टेड टीम संगठन संरचना का समर्थन करता है ।

फरवरी 2019 को अपडेट करें: अब आपके पास प्रोजेक्ट की अवधारणा है :
" उपयोगकर्ता के स्वामित्व वाली परियोजनाएं- अपना व्यक्तिगत कार्यक्षेत्र देखें "

आप अपने प्रोजेक्ट बोर्ड में 5 रिपॉजिटरी तक लिंक कर सकते हैं। रिपोजिटरी को जोड़ने से उन लिंक्ड रिपॉजिटरी में खोज का दायरा सीमित हो जाएगा, इसलिए आप प्रोजेक्ट बोर्ड में अभी तक शामिल नहीं किए गए किसी भी नए मुद्दों को जल्दी से कम कर सकते हैं।

https://i0.wp.com/user-images.githubusercontent.com/3477155/52346373-734e2580-29ed-11e9-82ad-9e5f1ab8aa99.gif?resize=1024%2C512&ssl=1

GitHub अब टैग का भी समर्थन करता है ( विषयों के रूप में )।


मूल उत्तर 2012:

एक और उपाय है कि आप रिपॉजिटरी को परिभाषित करें जो अन्य रेमो को संदर्भित करता है, जिसे सबमॉड्यूल्स के रूप में घोषित किया गया है ।

इस तरह, जब आप रेपो (जो अन्य रेपो का संदर्भ देते हैं) में से एक का क्लोनिंग कर रहे हैं, जिसे "पैरेंट रेपो" कहा जाता है, तो वे सबमॉड्यूल्स के उप-निर्देशिका के साथ, अपनी स्वयं की निर्देशिका में क्लोन किए जाएंगे।

यह स्वयं आपके GitHub खाते पर स्पष्ट रूप से स्पष्ट नहीं होगा (क्योंकि इसमें अभी भी रिपॉज की एक बड़ी सूची होगी, यहां तक ​​कि माता-पिता के प्रतिनिधि के साथ भी बड़ी), लेकिन एक माता-पिता के रेपो को क्लोन करके, आप इसमें अपने सभी संबंधित सबमोडुल्स वापस प्राप्त करेंगे।


2014 में ऐनी TheAile द्वारा टिप्पणियों में उल्लिखित 302 का मुद्दा अभी संदर्भित है (Nov. 2018)tbnorth/github_repo_tags

छोटे अजगर कार्यक्रम इस भंडार में अपने रेपोस की एक सूची प्राप्त करने के लिए GitHub एपीआई का उपयोग करता है। और उनके नाम, विवरण और URL को एक नए रेपो में जोड़ें। डिफ़ॉल्ट रूप से, जिन्हें repo_tags कहा जाता है। प्रारंभ में प्रत्येक "मुद्दे" को अवर्गीकृत किया जाता है, लेकिन आप उन्हें टैग कर सकते हैं जैसे आप कृपया, नियमित अंक टैगिंग का उपयोग करके।

जब फिर से चलाया जाता है, तो repo_tags.pyकेवल रेपो के लिए मुद्दे बनाता है। यह पहले से ही एक मुद्दे से आच्छादित नहीं थे।


4
ठीक है, इसलिए मुझे कई संगठनों का उपयोग करना होगा ... इसका कोई कारण है कि आप फ़ोल्डर्स द्वारा अपने प्रतिनिधि को संरचना क्यों नहीं कर सकते हैं?
डंिजर

4
@sharethis कोई कारण नहीं है कि मुझे पता है, सिवाय इसके कि GitHub द्वारा प्रस्तावित एक विशेषता नहीं है।
VonC

5
इच्छा सूची नोट; टैग भी मेरे लिए ठीक होगा। github.com/isaacs/github/issues/302
AnneTheAgile

4
वाह, अविश्वसनीय है कि इतनी बड़ी, अच्छी तरह से विकसित, लोकप्रिय सेवा ऐसी मूल सुविधा का समर्थन नहीं करती है जो हमेशा के लिए रही है।
माइकल

1
@PeterByfield यह एकमात्र आधिकारिक वर्कअराउंड है, इसलिए मैं इसके लिए अभी से प्रयास करूंगा।
VonC

9

रेपो की व्यवस्था करने के लिए मैं संगठनों का उपयोग करता हूं । यह स्वच्छ विलुप्त होने और स्पष्ट संगठन के लिए अनुमति देता है, यदि आवश्यक हो तो साझा करने के लिए पका हुआ। उदाहरण के लिए:

मेरे संगठन

  • Jmr-iOS (iOS repos)
  • Jmr- कार्य (कार्य प्रतिनिधि)
  • उपयोगकर्ता Acct (Pers repos)

जब तक आप एंटरप्राइज क्लाउड खाते ($ 25 / मो) में अपग्रेड नहीं करते, तब तक सभी संगठन रिपोज सार्वजनिक होते हैं


1
सभी संगठन प्रतिनिधि सार्वजनिक हैं, भले ही आप डेवलपर खाते में अपग्रेड करें। इसलिए, यदि आपको अपनी संगठन योजना को उद्यम या टीम में अपग्रेड करने की आवश्यकता है (कीमत आजकल 25 यूरो प्रति माह से शुरू होती है और 5 डेवलपर्स की अनुमति देती है, या आप प्रत्येक उपयोगकर्ता, एक महीने के लिए 21 डॉलर से उद्यम का उपयोग कर सकते हैं)
जिज्ञासु मन

अच्छी पकड़! मैंने वर्तमान स्कीमा को प्रतिबिंबित करने के लिए अपडेट किया है, मैं अब इसका उपयोग कर रहा हूं
J-Dizzle

4

यह इतना जवाब नहीं है जितना एक सिर।

उपयोगकर्ताओं के लिए मुफ्त निजी रेपो की निम्नलिखित घोषणा के कारण संरचनात्मक उपयोग करने वाले संगठनों का हालिया दुष्प्रभाव सामने आया है: https://blog.github.com/2019-01-07-new-year-new-github/

संगठन के निजी प्रतिनिधि अभी भी स्वतंत्र नहीं हैं। इसलिए रिपोज को अलग करने के लिए संगठनों का उपयोग करने से आपके संगठन की नि: शुल्क निजी रेपो का उपयोग करने में असमर्थता होगी, अगर आपको कुछ चाहिए।


2

शुरुआत के लिए, आप GitHub में अब विषयों के रूप में रिपॉज टैग कर सकते हैं। वाह!

लेकिन मुझे नहीं लगता कि यह बड़ी समस्या को हल करता है। इसके लिए, मैंने एक शीर्ष स्तर के फ़ोल्डर सिस्टम की कोशिश की है (जहां प्रत्येक परियोजना एक रेपो में एक फ़ोल्डर है)। मैंने प्रति परियोजना प्रणाली (जहां प्रत्येक परियोजना एक नई शाखा में है) में एक शाखा की कोशिश की है। यह आखिरी आपको प्रत्येक प्रोजेक्ट को अलग से खींचने और पुश करने की अनुमति देता है! लेकिन, न तो आदर्श है।

आप अन्य संस्करण नियंत्रण प्रणालियों में भी देख सकते हैं जैसे तोड़फोड़ और व्यापारिक । जरूरत पड़ने पर मर्क्यूरियल को बिटकॉइन पर भी होस्ट किया जा सकता है और फेसबुक यहां तक ​​कि " मल्टी-प्रोजेक्ट रिपॉजिटरी " के लिए समर्थन में दिख रहा है ।

मुझे व्यक्तिगत रूप से https://hg.openjdk.java.net/ की प्रणाली पसंद है (या http://hg.netbeans.org/ ) , जहां आपके पास एक फ़ोल्डर सेटअप है और प्रत्येक प्रोजेक्ट को एंडपॉइंट पर होस्ट किया गया है। इसे प्राप्त करने का सबसे अच्छा तरीका अपनी परियोजना संरचना (जैसे https://mvnrepository.com/ या https://www.npmjs.com/ ) के साथ एक वेबसाइट (जो आप GitHub में कर सकते हैं) बनाकर है ।


2

फ़ोल्डरों को अनुकरण करने का एक संभावित तरीका अल्पविराम से अलग किए गए टैग को आपके रेपो विवरण के अंत तक जोड़कर है। आप तब इन टैगों के द्वारा रिपॉज की खोज कर सकते हैं, क्योंकि GitHub 'रेपो विवरण में' एक रिपॉजिटरी खोजें ... 'फिल्टर दिखता है! एक उदाहरण:

MyRepo: कुछ शांत सामान [कंप्यूटर-दृष्टि, मशीन-शिक्षण, अजगर] करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.