Github पुल अनुरोध को कैसे संशोधित करें ub


163

मैंने एक परियोजना के लिए एक पुल अनुरोध खोला है। अनुचर ने इसे स्वीकार करने का फैसला किया है, लेकिन मुझे कुछ सामग्री को संशोधित करने के लिए कहा है।

मैं यह कैसे कर सकता हूं? क्या मुझे प्रतिबद्ध हैश को अपरिवर्तित रखना चाहिए, मैं इसे कैसे कर सकता हूं?


जवाबों:


178

जिस शाखा के लिए अनुरोध है, उस पर अधिक जोर दें। पुल अनुरोध यह तब उठाएगा

उदाहरण:

यदि आप बी को मास्टर में विलय करना चाहते हैं

  1. आप c1, c2, c3 से b पुश करते हैं
  2. तब आप b के लिए एक नया अनुरोध करते हैं
  3. इसकी समीक्षा की जाती है और आपको और कमिट की आवश्यकता होती है
  4. आप c11, c21, c31 से b पुश करते हैं
  5. पुल अनुरोध अब सभी 6 छह कमिट दिखाता है

6
क्या इस पुल अनुरोध के लेखक को छोड़कर, किसी अन्य व्यक्ति द्वारा इस पुल अनुरोध को जोड़ना संभव है?
स्काईविंदर

4
हर कोई जो विशिष्ट शाखा को धकेलता है
डेयज-जोन

@ दाइ -जवान बहुत बार अगर कोई किसी से अनुरोध करता है, तो वह रिपॉजिटरी के अपने स्वयं के कांटे को धक्का देता है। क्या इस तरह के पीआर के लिए लोगों को अपने कांटे तक पहुंच नहीं होने से कमिट जोड़ना संभव है?
मैकीक ńoziński

1
@ स्कीविंडर शायद आप इस प्रश्न की जाँच कर सकते हैं: क्या पुल अनुरोध (जीथब) में अन्य लोगों के कोड को बदलना संभव है?
मैकीक ńoziński

@ Maciek onlyoziński का उत्तर केवल तभी है जब "आप" विशिष्ट शाखा को धक्का दे सकते हैं ":)
Daij-Djan

34

मेरे पास केवल एक पुल अनुरोध में एक प्रतिबद्धता थी, और मैं git commit --amendइसे अपडेट करता था। मैंने फिर एक बल दिया git push -fजिससे मेरी संशोधित प्रतिबद्धता मूल एक की जगह ले ली। पुल अनुरोध ने स्वचालित रूप से नई प्रतिबद्धता को उठाया। (यह वास्तव में दोनों कमिट्स को दर्शाता है, लेकिन जब मैंने पृष्ठ को फिर से लोड किया तो पुरानी प्रतिबद्धता चली गई थी।)

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


8

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

एक वैकल्पिक समाधान और एक तकनीक जिसका मैं उपयोग करता हूं वह इस प्रकार है:

  1. रिपॉजिटरी (अपस्ट्रीम) और ब्रांच (डेवलप) से एक नई ब्रांच (फिक्सेस) बनाएं, जिसे करने के लिए आप पुल रिक्वेस्ट भेजना चाहते हैं:

    git शाखा अपस्ट्रीम / डेवलपमेंट को ठीक करती है

  2. इस नई बनाई गई शाखा में सीधे अपने परिशोधित कमेंट्स जोड़ें।

    git प्रतिबद्ध -m "आपका संदेश"

  3. इस शाखा को अपने खुद के कांटे हुए रिमोट (मूल नाम दिया जा सकता है) को पुश करें।

  4. तुलना करें और स्वच्छ प्रतिबद्ध इतिहास के साथ एक नए पुल अनुरोध में भेजें।
  5. साथ ही, पुल अनुरोध को मर्ज किए जाने के बाद अपनी शाखा को हटाना एक अच्छा विचार है।
  6. और आप टिप्पणी कर सकते हैं और अपने पहले के पुल अनुरोधों को बंद कर सकते हैं।

1

आप गितुब आपी का भी उपयोग कर सकते हैं ।

कर्ल के साथ उदाहरण

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

आप github डेवलपर डॉक में डेटा की अलग सूची पा सकते हैं

उदाहरण: मेरे पुल अनुरोध का नाम बदलें

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9

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