git - मैं अपने खुद के गिटहब भंडार कैसे बना सकता हूं?




github git-fork (5)

अपने भंडार के सही गिटहब कांटा बनाने के लिए आप इन चरणों का उपयोग कर सकते हैं:

  1. एक संगठन बनाएं
  2. संगठन के लिए कांटा
  3. फोर्कड परियोजना का नाम बदलें
  4. अपने खाते में वापस ले जाएं

तो, गिट के लिए कुल नौसिखिया। गाइड के माध्यम से पढ़ रहे थे और सोचते हैं कि मेरे पास मूल बातें हैं लेकिन मुझे इस लक्ष्य को पूरा करने में कठिनाइयों का सामना करना पड़ रहा है।

मेरे पास मेरे सामान्य मार्कअप स्रोत कोड के लिए एक रेपो बनाया गया है। बस हर ब्रेकआउट के लिए मैं सामान का उपयोग करता हूं। इसे markupDNA.git कहा जाता है

मैं अपनी मैक साइट्स dir ~/Sites/project-N में अलग-अलग निर्देशिकाएं लेना चाहता हूं। जहां मैं सामान्य सामान पर निर्माण करता हूं और साइट का ब्रेकआउट करता हूं। मैं चाहता हूं कि ये मेरे मुख्य गिट रेपो से कांटे के रूप में बंधे हों, लेकिन आप अपने खुद के रेपो को नहीं फेंक सकते?

काश मैं ऐसा कुछ कर सकता था:

git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git push

लेकिन मैं नहीं चाहता कि यह उत्पत्ति को धक्का दे। मैं इसे markupDNA रेपो के एक कांटा से धक्का देना चाहता हूं, जहां से इसे क्लोन किया गया था। लेकिन ऐसा लगता है जैसे यह सिर्फ मूल मास्टर में मेरे परिवर्तनों को धक्का देता है। विचार markupDNA साफ रखना है और मेरी अलग-अलग परियोजनाओं के लिए बहुत सारे markupDNA हैं, जिनमें से प्रत्येक में मेरी हार्ड ड्राइव पर अपना स्वयं का क्लोन डीआईआर होगा।

कोई विचार?


आप गीथूब के आयात उपकरण का भी उपयोग कर सकते हैं।

(यह एसवीएन, आदि से आयात करने के लिए बनाया गया है लेकिन आप इसके लिए भी इसका उपयोग कर सकते हैं)

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

फिर, यह एक नया भंडार बना रहा है और गीथूब पर एक सच्चा कांटा नहीं है। लेकिन आपकी सभी शाखाएं, इतिहास इत्यादि वहां होंगे।


तुम सही काम कर रहे हो

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
  • उस फ़ोल्डर में जाएं जहां आप अपनी परियोजनाओं को स्टोर करते हैं
  • कस्टम नाम के साथ अपने बेस markupDNA रेपो क्लोन करें
  • रिमोट का नाम बदलें ताकि अगर आप बाद में 'उत्पत्ति' करना चाहते हैं, तो आप कर सकते हैं

निश्चित रूप से आप एक क्लोन से क्लोन कर सकते हैं। गिट में मुख्य रेपो की कोई अवधारणा नहीं है। लोग अक्सर एक मुख्य रेपो नामित करते हैं, लेकिन यह तकनीकी कारणों से नहीं, बल्कि परंपरागत है।

तो आप सब कुछ ठीक वैसे ही कर सकते हैं जैसा आप वर्णन करते हैं और इससे भी ज्यादा।

उदाहरण के लिए, आपकी ब्रेकआउट साइटों में शाखा को अपने सामान्य सामान में जोड़ों या संशोधनों के विचारों के साथ रखना समझदारी है। आप इन्हें अपने जेनेरिक रेपो की तरफ खींच सकते हैं और फिर से वितरित कर सकते हैं।


यह ट्यूटोरियल एक सरल और सीधा जवाब देता है:

  1. एक नया खाली github fokedrepo भंडार बनाएँ
  2. इसे स्थानीय रूप से क्लोन करें:

    git clone https://github.com/YOURUSERNAME/forkedrepo.git
    
  3. नए स्थानीय भंडार के रिमोट के रूप में मूल जिथब भंडार जोड़ें:

    git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
    
  4. अपने नए स्थानीय भंडार में मूल जिथब भंडार की प्रतिलिपि नीचे खींचें:

    git pull upstream master
    
  5. फ़ाइलों को अपने नए स्थानीय भंडार से नई गीथब भंडार में पुश करें:

    git push origin master
    

यह गिटूब द्वारा मूल भंडार के कांटे के रूप में पहचाना नहीं जाएगा, लेकिन यह उतना ही अच्छा है जितना इसे प्राप्त होता है।





git-fork