2009-10-06 12 views
41

बेस्ट एक उदाहरण से समझाया जा करने के लिए बीच का अंतर: मैं भंडार की शाखा 0.58 पर हूँ और यह उसकी मैं कैसे खींच:Git: "BRANCHNAME" और "refs/सिर/BRANCHNAME"

git pull origin 0.58 

जब मैं बस कॉल "Git पुल", मैं:

ip238:openlierox az$ git pull 
You asked me to pull without telling me which branch you 
want to merge with, and 'branch.0.58.merge' in 
your configuration file does not tell me either. Please 
name which branch you want to merge on the command line and 
try again (e.g. 'git pull <repository> <refspec>'). 
See git-pull(1) for details on the refspec. 

If you often merge with the same branch, you may want to 
configure the following variables in your configuration 
file: 

    branch.0.58.remote = <nickname> 
    branch.0.58.merge = <remote-ref> 
    remote.<nickname>.url = <url> 
    remote.<nickname>.fetch = <refspec> 

See git-config(1) for details. 

लगता है मैं शायद कुछ विकल्प भूल गया (--track?) जब मैं उस शाखा की जाँच की। वैसे भी, मैंने इसे अभी सेट किया है:

git config branch.0.58.merge 0.58 
git config branch.0.58.remote origin 

और ऐसा लगता है।

ip238:openlierox az$ git config branch.0.57.merge 
refs/heads/0.57 
ip238:openlierox az$ git config branch.0.57.remote 
origin 

मैं अब सोच रहा था, वहाँ "0.58" बीच एक अंतर है या मैं निर्दिष्ट करना चाहिए "refs/सिर/0.58": फिर, बस रुचि की वजह से, मैं इन सेटिंग के बारे में कुछ अन्य शाखा पर एक दृष्टि डाली ?

वास्तव में क्या अंतर है?

उत्तर

65

एक रेफरी किसी प्रतिबद्धता को इंगित करने वाला कुछ भी है, उदाहरण के लिए, शाखाएं (सिर), टैग, और दूरस्थ शाखाएं। आपको अपने .git/refs निर्देशिका में सिर, रिमोट और टैग देखना चाहिए, मान लें कि आपके पास अपने भंडार में तीनों प्रकार के रेफरी हैं।

रेफ/हेड/0.58 शाखा निर्दिष्ट 0.58 निर्दिष्ट करता है। यदि आप निर्दिष्ट नहीं करते कि रेफ़रल किस नामस्थान में है, तो गिट डिफ़ॉल्ट रूप में दिखेगा। यह केवल 0.58 का उपयोग करके अस्पष्ट रूप से अस्पष्ट होता है - आपके पास एक शाखा और 0.58 नाम का एक टैग हो सकता है।

+2

बहुत बहुत धन्यवाद, यह बहुत अच्छी तरह से बताता है। यह सिर्फ सरल "0.58" के साथ काम करता है क्योंकि ऐसा कोई नाम टैग नहीं है। – Albert

+1

ठीक है, यह अनिवार्य रूप से हमेशा पूरी तरह से ठीक होगा, लेकिन यह सुरक्षित होना अच्छा है। – Cascabel

19

सिर्फ उत्सुकता वाले किसी व्यक्ति के लिए - git show-ref, जो कि गिट v1.8.2.2 के बाद उपलब्ध है, आपको आपके स्थानीय भंडार में आपके सभी संदर्भ दिखाएगा।

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