पुल के अनुरोध पर एक शाखा का नाम बदलना


101

Github पर, आप किसी प्रोजेक्ट में कार्यक्षमता जोड़ने के लिए पुल अनुरोध कर सकते हैं। एक के योगदान को एक शाखा पर होना चाहिए, यदि अनुरोध स्वीकार किया जाता है, तो परियोजना के मास्टर शाखा (या एक अनुरूप) में विलय कर दिया जाएगा।

अब, मैंने जीथब पर एक पुल अनुरोध प्रस्तुत किया और मेरा योगदान एक शाखा पर है patch-1। मैं स्थानीय रूप से शाखा का नाम संशोधित कर सकता हूं

git branch -m patch-1 newname

और सिद्धांत रूप में, मैं इस उत्तर में पाए गए निर्देशों का पालन करके जीथब पर अपने कांटे रेपो पर इसका नाम बदल सकता हूं । यह पुराने patch-1मामले को हटाकर, मेरे मामले में, और इसे एक अलग नाम के साथ फिर से शुरू करने का अभ्यास किया जाता है newname

patch-1जब यह एक पुल अनुरोध का गठन करता है, तो क्या यह गिथब पर मेरे कांटे के भंडार पर शाखा का नाम बदलने की अनुमति देता है ? या यह पुल अनुरोध प्रबंधन पर समस्याओं का कारण बनता है?

क्या किसी शाखा का पुनर्नामित करने का कोई तरीका है जब वह शाखा एक अनुरोध है?

जवाबों:


117

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

तो, नहीं, आप शाखा को हटाने और पुल अनुरोध को हटाने के बिना खुले पुल अनुरोध के साथ नाम नहीं बदल सकते हैं। हालाँकि, ऐसा करने से आपको कोई रोक नहीं है, एक नई शाखा को एक नए नाम के साथ धकेलना और एक नया पुल अनुरोध बनाना।


186
ऐसा नहीं करने का एक कारण मौजूदा पीआर पर चर्चा खोना है।
जॉनी एवरसन

6
मुझे समझ में नहीं आता कि पीआर पर स्रोत शाखा का नाम बदलने पर इतना कड़ा प्रतिबंध क्यों। बिटबावेट में समान कष्टप्रद bahaviour मौजूद हैं। एक अन्य दृष्टिकोण पीआर संपादन और स्रोत शाखा को दूसरी शाखा में बदलना होगा। कोई कह सकता है "यदि आप स्रोत शाखा को बदलते हैं, तो यह एक नया पीआर मार्ग है"। तकनीकी रूप से, हाँ, लेकिन कुछ भी नहीं डेवलपर को पूरी तरह से अलग शाखा से अपस्ट्रीम स्थापित करने से रोकता है और फिर एक करता है git push -f। PR को एक नए कोड के साथ अपडेट किया गया है और अभी भी "वही" PR है।
एल। होलांडा

31

संक्षिप्त जवाब:

नहीं

वैकल्पिक दृष्टिकोण:

  1. एक नई (बदला हुआ) शाखा के साथ एक नया पीआर खोलें
  2. नए को संदर्भित करने वाले पुराने PR को बंद करें (जैसे #new_pr_id के पक्ष में बंद)
  3. नए पीआर के विवरण को संशोधित करें (जैसे सुपल्ड #old_pr_id)
  4. (वैकल्पिक) पुराने पीआर पर प्रासंगिक चर्चा के बारे में एक टिप्पणी करें

ध्यान दें:

एक दूरस्थ शाखा (पीआर का गठन) का नाम बदलने की आवश्यकता है, क्योंकि निर्माण प्रणाली को शाखा के नाम की आवश्यकता होती है जो टिकट आईडी के साथ समाप्त होती है। हालांकि, आधिकारिक टिकट निर्माण (ऐनक से) से पहले पीआर खोला गया था, और इसमें बहुमूल्य चर्चा शामिल थी। वर्णित दृष्टिकोण बिल्ड सिस्टम काम करने का एकमात्र तरीका था, और किसी भी जानकारी को खोना नहीं था (हालांकि इसे ट्रैक करने में एक अतिरिक्त कदम था)।


9
यह देखते हुए कि आम तौर पर विलय होने के बाद शाखाएं हटा दी जाती हैं, मुझे लगता है कि नाम को गलत तरीके से "सहन" करना बेहतर है जबकि एक नए पीआर के ओवरहेड को जोड़ने के लिए जो ऐतिहासिक चर्चा को ट्रैक करने के उद्देश्य से पुराने पीआर को संदर्भित करता है।
नव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.