2011-06-30 12 views
15

मैंने गिटोलाइट (स्थानीय रूप से अब प्रयोग करने के लिए) स्थापित किया है और ऐसा लगता है कि नए भंडार एक गिट क्लोन के बाद डिफ़ॉल्ट रूप से रिमोट को ट्रैक नहीं कर रहे हैं। अगर मुझे सही याद है, जब मैं github.com से एक भंडार क्लोन करता हूं, तो यह पहले से ही पुश करने और खींचने में सक्षम है।गिटोलाइट: नए भंडार के लिए डिफ़ॉल्ट रिमोट

$ git clone [email protected]:sandbox 
Cloning into sandbox... 
warning: You appear to have cloned an empty repository. 
$ echo "A" > README 
$ git add README 
$ git commit README -m 'test' 
$ git push 
No refs in common and none specified; doing nothing. 
Perhaps you should specify a branch such as 'master'. 
fatal: The remote end hung up unexpectedly 
error: failed to push some refs to '[email protected]:sandbox' 

जब मैं धक्का करने की कोशिश को स्पष्ट रूप से सब कुछ काम करता है::

$ git push origin master 
Counting objects: 6, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (6/6), 426 bytes, done. 
Total 6 (delta 0), reused 0 (delta 0) 
To [email protected]:sandbox 
* [new branch]  master -> master 

इस अतिरिक्त कदम वास्तव में जरूरत है

यहाँ मैं क्या करने की कोशिश की है? डिफ़ॉल्ट रूप से सेट किया जा सकता है? गीथूब पर यह है, है ना?

आप

+0

जैसा कि मैं समझता हूं, नए भंडार/सर्वर के लिए अब गिटोसिस की अनुशंसा नहीं की जाती है। बेहतर गिटोलाइट का उपयोग करें। –

+0

ओह, मैं वास्तव में गिटोलाइट का उपयोग कर रहा हूं, लेकिन सवाल में गलती की। अब तय है। – stivlo

उत्तर

22

पहले Git धक्का हमेशा शाखा आप पुश करने के लिए चाहते हैं निर्दिष्ट करने के लिए आवश्यकता होती है धन्यवाद।

git push -u origin master 

फिर अगली धक्का उसी शाखा से किया जा सकता है, जैसा कि आप का इरादा:

git push 

git push man page से:

विशेष refspec : (या +: गैर अनुमति देने के लिए -फास्ट-फॉरवर्ड अपडेट) "मेलिंग" शाखाओं को धक्का देने के लिए गिट को निर्देशित करता है: स्थानीय पक्ष पर मौजूद प्रत्येक शाखा के लिए, रिमोट साइड अपडेट किया जाता है यदि एक ही नाम की शाखा रीम पर पहले से मौजूद है ओटी साइड
यदि कोई स्पष्ट रीफस्पेक नहीं मिला है तो यह डिफ़ॉल्ट ऑपरेशन मोड है।

जब से तुम एक खाली भंडार क्लोन है, पहले धक्का मिलता-जुलता कोई शाखा नहीं मिल रहा है

नोट (वहाँ नदी के ऊपर रेपो 'origin' पर कोई भी है): देखें "What is the result of git push origin?":

Git धक्का के लिए डिफ़ॉल्ट नीति Git 2.0 (या शायद git1.9) के साथ

धक्का के लिए एक नया मोड बदल जाएगा, "simple" है, जो मैं "current" और "upstream" के बीच एक क्रॉस है, पेश किया गया है।
"git push" बिना किसी रेफस्पेक के रिमोट रिपोजिटरी पर उसी शाखा को उसी नाम पर धक्का दें जब यह उसी नाम के साथ शाखा को ट्रैक करने के लिए सेट किया गया है
योजना इस मोड को नया डिफ़ॉल्ट मान बनाना है जब push.default कॉन्फ़िगर नहीं किया गया है।

git push -u origin master में

तो, -u (--set-upstream-to) यहां महत्वपूर्ण है (सिर्फ 'origin' दूरस्थ करने के लिए एक ही नाम के साथ शाखा धक्का नहीं है, लेकिन यह एक दूरस्थ ट्रैकिंग शाखा।

+0

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

0

आप कर सकते हैं git branch --set-upstream कमांड का उपयोग करें, उदाहरण के लिए।:
git branch --set-upstream develop origin/develop

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