2009-12-01 12 views
10

ठीक है, तो मेरे पास एक बड़ी जिथब परियोजना है कि मुझे अपनी छोटी स्टेशिया शाखा में विलय नहीं करना है। हालांकि, ऐसा लगता है कि हेरोोकू केवल मास्टर को गंभीरता से दबाता है। ऐसा लगता है कि मैंने अपनी शाखा को धक्का दिया, लेकिन उदाहरण के लिए यदि मेरे पास केवल मेरी शाखा है, तो यह भी काम करता है जैसे सर्वर पर कोई कोड नहीं है। मैं अपने रत्नों को स्थापित नहीं कर सकता क्योंकि .gems फ़ाइल मेरी शाखा पर है।गिट शाखा का उपयोग कर heroku उलझन में है!

मूल रूप से मैं यह भी नहीं चाहता कि हरोकू को यह पता चल जाए कि वहां एक मास्टर है। मैं सिर्फ अपनी टेस्ट स्टेशिया शाखा का उपयोग करना चाहता हूं। लेकिन यह मेरी स्थानीय शाखा को अनदेखा करता रहता है। क्या इसे करने का कोई तरीका है? और फिर, मैं मुख्य गीथब रिपोजिटरी (eeek!) पर कुछ भी ओवरराइट नहीं करना चाहता हूं, लेकिन शायद यह ठीक होगा अगर मेरे पास मास्टर और मेरी शाखा दोनों हीोकू पर थी और उन्हें वहां मिला दिया।

मैं कुल गिट नौसिखिया हूं (खिड़कियों पर कम नहीं) तो कृपया मेरे साथ भालू।

उत्तर

2

पहला कदम सुनिश्चित करें कि आप अपने गुरु के शीर्ष पर अपने स्थानीय शाखा rebase (चलो इसे अपनी रेपो 'mainGitHubRepo' में है लगता है)

git fetch mainGitHubRepo master 
git checkout -b mainGitHubMaster mainGitHubRepo/master 

फिर वापस अपनी शाखा में जाएं और और यह फिर से चलाने के लिए है बनाते हैं mainGitHubMaster के शीर्ष: georgebrock टिप्पणी में उल्लेख है

git checkout Stacia 
git rebase mainGitHubMaster 

रूप में, आप मध्यवर्ती स्थानीय शाखा mainGitHubMaster बनाने के लिए की जरूरत नहीं है: आप सीधे लाने शाखा के शीर्ष पर rebase कर सकते हैं।

git checkout Stacia 
git rebase maingithubrepo/master 

उसके बाद, आप अपने branch to your GitHub fork धक्का कर सकते हैं, और फिर एक pull request बनाते हैं।

एक स्थापित दूरदराज के एक स्थानीय शाखा धक्का लिए, आप बस का उपयोग करने की जरूरत है:
git push REMOTENAME BRANCHNAME
यदि आप रिमोट शाखा पर एक ही नाम का उपयोग नहीं करना चाहते हैं तो आप इसका उपयोग कर सकते हैं:
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME

(जो है क्या David Dollarhis answer में उल्लेख है: git push heroku yourbranch:master)

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

+0

कुछ आप दूरस्थ ट्रैकिंग शाखा पर रिबेसिंग द्वारा इस प्रक्रिया में एक चरण को छोड़ सकते कर सकते हैं पुश करने के लिए करना चाहते हैं: 'Git लाने maingithubrepo ; गिट चेकआउट स्टेशिया; mingithubrepo/master' – georgebrock

+0

@georgebrock अच्छा बिंदु, मैंने इसे अधिक दृश्यता – VonC

58

आप एक अलग शाखा Heroku करने के लिए आप एक स्थानीय शाखा बनाने के बिना की तरह

git push heroku yourbranch:master 
+13

के उत्तर में शामिल किया है यह स्वीकार्य उत्तर होना चाहिए। –

+0

पूरी तरह से काम किया - धन्यवाद !! – Jim

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