2013-03-07 6 views
20

निम्नलिखित स्थिति समय-समय पर उठता है ...क्या गिटहब कचरा खींचने के अनुरोधों में संदर्भित लटकती चीजें इकट्ठा करता है?

मैं git checkout -b experiment, कुछ प्रयोगात्मक परिवर्तनों के लिए प्रतिबद्ध है, और एक पुल अनुरोध खोलें। कुछ चर्चा के बाद, पुल अनुरोध अस्वीकार कर दिया गया है।

यदि मैं यह कुछ बिंदु पर diff दुर्गम बना देगी दूरस्थ शाखा को हटाने के लिए, अब थे, या GitHub सुनिश्चित करता है जो पुल अनुरोध में दिखाई देते हैं कि करता है कचरा एकत्र नहीं कर रहे हैं, भले ही वे किसी भी पर नहीं दिखाई देते डाली?

मैं मृत शाखाओं को हटाना चाहता हूं, लेकिन केवल ऐसा करने से अस्वीकार किए गए पुल अनुरोधों के ऐतिहासिक मूल्य को कम नहीं किया जाएगा।

उत्तर

21

नहीं, वे जीसी नहीं होंगे क्योंकि अगर आप अपनी शाखा हटाते हैं तो भी उन्हें पूरी तरह से संदर्भित नहीं किया जाता है।

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

यह कैसे व्यवहार में लग रहा है देखने के लिए, एक git ls-remote <REMOTE> करते हैं, जहां <REMOTE> या तो एक दूरस्थ का नाम है या यूआरएल (यह काम करने के लिए इस के लिए git remote add एड होने की जरूरत नहीं है (यदि उसमें कोई अपने रेपो जानता है))। इस रिमोट में कुछ पुल अनुरोध होना चाहिए, या आप यह देखने में सक्षम नहीं होंगे कि मेरा क्या मतलब है।

यह रिमोट (सभी शाखाओं और टैग) पर सभी रेफरी सूचीबद्ध करेगा, और आपको refs/pull/<number>/head और refs/pull/<number>/merge जैसे कुछ रेफरी दिखाई देंगे। वे पीआर में नवीनतम प्रतिबद्धता और प्रतिबद्धता को संदर्भित करते हैं, जिस पर इसे क्रमशः विलय किया गया था।

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