2013-04-18 5 views
13

निम्नलिखित परिदृश्य:गिटहब पर पुल अनुरोधों को समझना: क्या होता है, जब अनुरोध करने वाले भंडार को हटा दिया जाता है?

मैंने एक ओपन सोर्स रिपोजिटरी (GitHub -> project -> Fork) फोर्क किया। यह करने के बाद

$ git clone [email protected]:myusername/originalprojectname.git 
... changes ... 
$ cd originalprojectname 
$ git add path/to/changed/file.php 
$ git commit -m "..." 
$ push 

मैं GitHub पर एक पुल अनुरोध शुरू किया: तब मैं स्थानीय स्तर पर अपने प्रोजेक्ट प्रतिलिपि क्लोन, मास्टर शाखा में कुछ परिवर्तन किए हैं, उन्हें प्रतिबद्ध हैं, और मेरे भंडार को धक्का दे दिया। इसे "मर्ज करने के लिए अच्छा" के रूप में चिह्नित किया गया है और Milestone: x.y.z में जोड़ा गया है।

बदले गए कोड कहां रह रहे हैं? केवल मेरे रेपो में या कुछ और? बैकग्राउड है: मैं अपना भंडार हटाना चाहता हूं। तो, आखिर में मेरा प्रश्न: अगर मैं गिटहब पर अपना भंडार हटा देता हूं, तो क्या मूल परियोजना के लिए अभी भी बदलाव उपलब्ध हैं या क्या मुझे x.y.z रिलीज की प्रतीक्षा करनी चाहिए?

उत्तर

12

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

चूंकि पीआरएस को आमतौर पर हटाया नहीं जा सकता है, इसलिए ये शाखाएं अनिश्चित काल तक लक्षित रेपो में मौजूद होंगी।

अपने अन्य प्रश्न का उत्तर देने के लिए: कोड आपके कांटा और लक्ष्य रेपो दोनों में निवास करेगा (मूल रूप से, कम से कम, जब तक कि आप अपना कांटा हटा नहीं देते)।

+2

एफवाईआई, [ज़च होल्मैन द्वारा यह बात] [http://zachholman.com/talk/more-git-and-github-secrets/) (गिटहब कर्मचारी) पुष्टि करता है कि "गिटहब आपके भंडार में सभी पुल अनुरोधों को संग्रहीत करता है [ ...] भले ही कांटा हटा दिया गया हो "। – Dennis

+1

जब मैं अपस्ट्रीम से हटाए गए रेपो को दोबारा दोहराता हूं, तो क्या मैं पिछले पीआर थ्रेड को अपडेट करना जारी रख सकता हूं? – rilut

संबंधित मुद्दे