2014-09-22 3 views
9

विंडोज पर msysgit का उपयोग करना, मैं यह कर सकता:क्या सभी प्लेटफॉर्म पर गिट केस असंवेदनशील है?

git checkout head 

या

git checkout HEAD 

या तो काम करता है। मेरे पास परीक्षण करने के लिए एक लिनक्स पर्यावरण नहीं है, लेकिन मैं सिर्फ उत्सुक हूं: HEAD डिज़ाइन द्वारा असंवेदनशील मामला है? क्या यह सभी प्लेटफॉर्म पर है?

+0

मैं संपादन वापस लुढ़का मेरे सवाल करने के लिए बनाया इसमें कोई वास्तविक मूल्य नहीं है। अगर लोग छोटे प्रश्नों को समायोजित करने या चीजों को चारों ओर स्थानांतरित करने के लिए मेरे प्रश्न को संपादित नहीं करते हैं तो इसकी सराहना करेंगे। –

उत्तर

7

HEAD लिनक्स पर केस-संवेदी है।

उदाहरण के लिए:

$ git checkout head 
error: pathspec 'head' did not match any file(s) known to git. 
$ git checkout HEAD 
Your branch is up-to-date with 'origin/master'. 

Git Ubuntu 14.04 पर संस्करण 1.9.1।

+0

धन्यवाद, सादा और सरल जवाब। मुझे यह दुर्भाग्यपूर्ण लगता है कि msysgit खराब आदतों को विकसित करने की अनुमति देता है (लेकिन हो सकता है कि केस असंवेदनशीलता के लिए एक अच्छा तकनीकी कारण हो)। –

+0

या (1.8.5 आईआईआरसी के बाद से) '@' का उपयोग करें। – steveax

1

हेड लिनक्स पर्यावरण में केस संवेदनशील है। जहां तक ​​मैं अपने मामले को केवल mysysgit में असंवेदनशील जानता हूं।

लिनक्स वातावरण में यह देता है: error: pathspec 'head' did not match any file(s) known to git.

1

मैक OSX (मावेरिक्स) को कवर करने का जवाब:

$ git checkout HEAD 
Your branch is up-to-date with 'origin/master'. 

लेकिन:

$ git checkout head 
Note: checking out 'head'. 

You are in 'detached HEAD' state. You can look around, make experimental 
changes and commit them, and you can discard any commits you make in this 
state without impacting any branches by performing another checkout. 

If you want to create a new branch to retain commits you create, you may 
do so (now or later) by using -b with the checkout command again. Example: 

    git checkout -b new_branch_name 

HEAD is now at f44b740... fix if endScreen(s) not present 

वैसे, कि हैश का सिर है वर्तमान शाखा (मेरे परीक्षण में, .git/refs/heads/master में निहित है)

दिलचस्प व्यवहार।

(Git 1.8.5.2)

7

प्रमुख के मामले संवेदनशीलता ओएस के फाइल सिस्टम के मामले संवेदनशीलता के आधार पर किया जाता है।

जब आप हेड चेकआउट करते हैं, तो वास्तव में फ़ाइल फ़ोल्डर के तहत "HEAD" नामक फ़ाइल की तलाश करता है। यदि आप छोटे अक्षरों में हेड टाइप करते हैं, तो गिट छोटे अक्षरों वाले फ़ाइल नाम की तलाश करता है। आप देख सकते हैं .git/HEAD फ़ाइल में वास्तव में प्रतिबद्ध हेड कोड के हैश कोड शामिल हैं।

इस वजह से

सिर के केस-संवेदनशीलता हैं:

  • केस-संवेदी लिनक्स पर, MacOS विंडोज पर
  • केस-असंवेदी
+0

क्या मैकोज़ डिफ़ॉल्ट रूप से केस-असंवेदनशील फ़ाइल सिस्टम का उपयोग नहीं करता है? –

+0

धन्यवाद कीथ, मुझे यह नहीं पता है। @Lorenzo Marcon, क्या आप अपने मैक ओएस में एचएफएस + के केस संवेदनशील संस्करण का उपयोग कर रहे हैं? –

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