2012-06-16 26 views
29

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

मैं एक सार्वजनिक रेपो एक है। बॉब कांटे , Bob/master पर कुछ प्रतिबद्धता जोड़ता है और A/master में उन परिवर्तनों को मर्ज करने के लिए पुल अनुरोध सबमिट करता है। मैं A/master पर विलय करने से पहले प्रस्तावित पुल अनुरोध में कुछ बदलाव करना चाहता हूं।

अगर मैं Bob/master पर धक्का नहीं दे सकता तो मैं यह कैसे कर सकता हूं?

उत्तर

16

ऐसे कई वर्कफ़्लो हैं जिनका आप यहां उपयोग कर सकते हैं। कुछ उदाहरण हैं:

  1. पुल अनुरोध पर टिप्पणी करें, और बॉब कुछ बदलाव करें। अधिक जानकारी के लिए Pull Request Discussion देखें।

  2. पुल अनुरोध को पर अलग शाखा पर मर्ज करें, फिर मास्टर में विलय करने से पहले अपने परिवर्तन करें। आपको कमांड लाइन से ऐसा करने की ज़रूरत है; चरण-दर-चरण निर्देशों के लिए Merging a Pull Request देखें।

  3. git am के साथ इसे लागू करने से पहले पैच संपादित करें। Patch and Apply देखें। यह शायद सबसे लचीला विकल्प है, लेकिन सबसे मैनुअल भी है।

    git checkout master 
    curl http://github.com/<username>/<project_name>/pull/<patch_number>.patch 
    sensible-editor <patchfile> 
    git am <patchfile> 
    git push origin master 
    
+0

कोई आदर्श नहीं है, लेकिन काम करता है, मुझे विशेष रूप से विकल्प 1 पसंद है। विकल्प 3 के साथ, मैं बॉब के कामों के लिए क्रेडिट लेता हूं, है ना? –

+0

फॉलो-ऑन प्रश्न यहां स्थानांतरित किया गया: http://stackoverflow.com/questions/11066980/who-gets-credit-for-a-hand-edited-patch-file –

+0

अधिक शामिल परिवर्तनों के लिए, पैच को संपादित करने की कोई आवश्यकता नहीं है हाथ से। 'गिट एम' के साथ पैच लगाने के बाद आप रेपो फ़ाइलों को सीधे संपादित कर सकते हैं और फिर उन्हें '--amend' ध्वज के साथ प्रतिबद्ध कर सकते हैं। – Pete

2

तुम सिर्फ अपने स्थानीय रेपो (GitHub जीयूआई अंदर नहीं)

# make same work-in-progress branch and check it out 
$ git checkout -b WIP 

# pull his changes into WIP 
$ git pull https://github.com/... master 

पर अपने शाखा से खींच सकते हैं और फिर निर्दयता से वहाँ पर से बदल जाते हैं।

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

+7

क्या कोई तरीका नहीं है कि हम दोनों क्रेडिट रख सकें? एक तरीका है कि उसका और मेरी चाल खींचने के अनुरोध के तहत सूचीबद्ध दिखाई दे ... –

+0

यदि आप काम करते हैं और फिर अपनी प्रतिबद्धताओं को मर्ज करते हैं, तो क्या सभी क्रेडिट परिप्रेक्ष्य से संरक्षित नहीं होते हैं? – gregturn

+0

@ एल्टर्न: यदि आप कोई प्रतिबद्धता बदलते हैं तो लेखक बदल जाता है, लेकिन यदि आप केवल एक प्रतिबद्धता चुनते हैं तो मूल मूल्य रहता है। –

2

एक समाधान Bob/master अपने संशोधन युक्त में एक जनसंपर्क बनाना है। बॉब आपके पीआर को Bob/master में विलय कर सकता है; जब आप बॉब के पीआर को A/master में विलय करते हैं, तो इसमें बॉब के काम और आपकी प्रतिबद्धता शामिल होगी।

आप किसी भी कांटा/शाखा से किसी अन्य कांटा/शाखा में पीआर बना सकते हैं। तो यदि बॉब Bob/feature से पीआर प्रस्तुत करता है, तो बस पीआर Bob/feature में बनाएं।