2010-01-16 11 views
5

गिट के लिए नया नहीं है, इसलिए यह उम्मीद है कि एक साधारण उत्तर के साथ एक सरल सवाल है।एक फोर्कड गिट रिपॉजिटरी के साथ काम करना, सिवाय इसके कि मैंने सार्वजनिक रिपो यूआरएल क्लोन किया है, निजी यूआरएल

मैंने गिटहब पर एक भंडार फोर्क किया। मैंने निजी रिपो यूआरएल: git://github.com/samuelclay/django-mingus.git के विपरीत सार्वजनिक रिपो यूआरएल: [email protected]:samuelclay/django-mingus.git का उपयोग करके इसे अपनी स्थानीय मशीन पर क्लोन किया।

मैं कोड में कुछ परिवर्तन किए, उन परिवर्तनों को प्रतिबद्ध है, और व्यवस्था मेरी काँटेदार रेपो के लिए अपने परिवर्तनों को धक्का करने के लिए, मैं जारी: git remote add upstream git://github.com/samuelclay/django-mingus.git, और फिर git push upstream, लेकिन जब तक कि मुझे एक त्रुटि नहीं देता है (यह सबकुछ अद्यतित कहता है), यह निश्चित रूप से गिटहब तक मेरे परिवर्तनों को धक्का नहीं दे रहा है।

क्या निजी रिपो यूआरएल में बदलने का कोई तरीका है? क्या यह भी जरूरी है?

उत्तर

8

मैं .git/config फ़ाइल को संपादित करके आसानी से ऐसा करने में सक्षम था।

 
$git clone git://github.com/user/test.git # Clone from read only 
# Make changes 
$ git push 
fatal: remote error: 
    You can't push to git://github.com/user/test.git 
    Use [email protected]:user/test.git 

तो मुझे लगता है कि इस परियोजना के लिए .git/config संपादित और मूल के url बदल दिया:

 
[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    # Remove this line: 
    #url = git://github.com/user/test.git 
    # Add this line: 
    url = [email protected]:user/test.git 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 
 
$ git push 
Counting objects: 5, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (3/3), 298 bytes, done. 
Total 3 (delta 2), reused 0 (delta 0) 
To [email protected]:user/test.git 
    58986b8..c8bd8c2 master -> master 

सफलता!

3

आपको सार्वजनिक और निजी URL पीछे की ओर मिल गया है। git:// यूआरएल सार्वजनिक है; [email protected] यूआरएल निजी है।

यदि आप एक रेपो यूआरएल बदलना चाहते हैं, तो बस एक टेक्स्ट एडिटर में अपनी .git/config फ़ाइल खोलें, अपमानजनक यूआरएल ढूंढें, और इसे दूसरे में बदलें। कॉन्फ़िगरेशन फ़ाइल के प्रारूप पर अधिक जानकारी के लिए git config दस्तावेज़ देखें।

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