2013-02-27 161 views
7

मुझे गिट या जिथब के बारे में कोई सुराग नहीं है और मुझे कोई सुराग नहीं चाहिए। लेकिन मेरे पास ओपन सोर्स प्रोजेक्ट के लिए दो-लाइन बगफिक्स है। सहयोग की भावना और जो भी हो, मैं इसे वापस योगदान देना चाहता हूं। अगर मुझे बहुत ज्यादा दर्द नहीं होता है।केवल एक ही बदलाव के लिए पुल अनुरोध कैसे करें?

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

पूर्वदर्शी में, मुझे अपनी दो-पंक्ति बगफिक्स बनाने से पहले शायद एक पूरी तरह से अलग परियोजना शाखा बनाना चाहिए था, लेकिन ए) कोड की दो पंक्तियों के लिए बहुत अधिक प्रशासनिक दर्द है और बी) मुझे नहीं पता था कि मैं चाहता हूं जब मैंने इसे लिखा था तो वापस बगफिक्स का योगदान करना चाहते हैं। और वैसे भी, अब बहुत देर हो चुकी है।

मैं एक नई शाखा बना सकता हूं, लेकिन इसमें अभी भी अन्य सभी कचरा परिवर्तन शामिल होंगे। तो यह मुझे कहीं भी नहीं मिला है। मैं अपने सभी स्थानीय परिवर्तनों को छोड़कर अपस्ट्रीम से एक नई शाखा बनाना चाहता हूं, फिर केवल एक ही बदलाव को फिर से करें। लेकिन मैं पूरी तरह से नया कांटा बनाने के अलावा ऐसा करने का कोई तरीका नहीं देख सकता, और मैं एक नया नया कांटा नहीं चाहता।

अभी मेरा सबसे अच्छा समाधान छोड़ना है: कोड अब मेरे लिए काम करता है, यह मेरी समस्या नहीं है। किसी को भी बेहतर योजना मिली है?

+1

है 'मैं Git या GitHub के बारे में लगभग कोई सुराग नहीं है और मैं एक clue.' फिर भी नहीं करना चाहते हैं आप यहाँ इन बातों पर मदद के लिए पूछ सकते हो? आपके इरादे सम्मानजनक हो सकते हैं, लेकिन आपको यकीन है कि उन्हें अभिव्यक्त करने का _very_ अजीब तरीका है ... आईआरसी चैट में पेस्टबिन यूआरएल पोस्ट करना आसान होगा। – sjas

+0

निकटता से संबंधित प्रश्न: [केवल नवीनतम प्रतिबद्धता के लिए गिटहब पर एक पुल अनुरोध भेजें] (http://stackoverflow.com/questions/5256021/send-a-pull-request-on-github-for-only-latest-commit) – sleske

+0

"मैं अपने सभी स्थानीय परिवर्तनों को छोड़कर अपस्ट्रीम से एक नई शाखा बनाना चाहता हूं, फिर केवल एक ही बदलाव को दोबारा शुरू करें।" आपने अपने प्रश्न का उत्तर खुद ही दे दिया। आपके लेटर्ड बुलेट बिंदुओं के संबंध में: ए) यह बहुत अधिक प्रशासनिक दर्द नहीं है बी) अब आप जानते हैं। मैं आपको सलाह देता हूं कि आप प्रश्न से अपने सभी राय-आधारित मेटाडेटा को हटा दें, पद का शीर्षक पर्याप्त कहता है और नीचे दिए गए उत्तर मिलान। –

उत्तर

7

यह करने के लिए सबसे आसान तरीका करने के लिए

  1. अपने वर्तमान परिवर्तन के साथ एक शाखा की स्थापना की, और (अपने प्रतिबद्ध नदी के ऊपर रेपो के आधार पर किया जाना चाहिए)
  2. एक नया बनाने के अपस्ट्रीम शाखा पर वापस जाने के लिए है पुल अनुरोध के लिए शाखा
  3. लेने बग को ठीक
  4. धक्का होने के लिए प्रतिबद्ध है और पुल अनुरोध

बनाने जो देता है

git branch my-changes 
git stash #just in case you have uncommitted changes 
git checkout -b bugfix upstream/master 
git cherry-pick <bugfix-commit-sha> 
git push --set-upstream origin bugfix 

जहां upstream मूल काँटेदार रेपो

+0

धन्यवाद, यह बहुत अच्छा काम करता है! मैं इस सवाल को बुकमार्क कर दूंगा, और उम्मीद है कि बुराई का समय बंद कर दूंगा जब मुझे किसी एक या दो साल के लिए इसे समझना होगा। –