कहाँ / usr / बिन / git से आया था?


24

मुझे एक छोटी सी समस्या है। कुछ बिंदु पर मैंने गिट का इस्तेमाल किया, लेकिन मुझे याद नहीं है कि यह डिफ़ॉल्ट रूप से शेर पर स्थापित किया गया था।

यहाँ git का संस्करण और पथ है:

$ git --version
git version 1.7.5.4
$ which git
/usr/bin/git

मेरे पास / usr / लोकल / git में एक नया git भी है

मैं नए संस्करण का उपयोग करना चाहूंगा, लेकिन मुझे नहीं पता कि पुराने को हटाकर (/ usr / bin में पथ चर में पूर्वता है) मैं कुछ तोड़ दूंगा।

इस संघर्ष को हल करने का उचित तरीका क्या है?


9
git Xcode द्वारा स्थापित है। मैं आपको बता नहीं सकता कि यह कुछ भी टूट जाएगा, हालांकि। आपके जूतों में, मैं इसे बाद में नाम बदलने के लिए रखूंगा।
स्टीवन फिशर

आह ठीक है। मैं जो भी करूंगा वह सिर्फ नए इंस्टॉल ओ git2 या कुछ और का नाम बदलें और इसे इस तरह उपयोग करें।
cromestant

मेरा मतलब था कि इसे हटाने के बजाय पुराने को फिर से नाम दें। इस तरह अगर आपको समस्या है तो आप इसे वापस नाम बदल सकते हैं।
स्टीवन फिशर

1
@StevenFisher आपको वह उत्तर देना चाहिए। :)
इयान सी।

ठीक है। मैं उम्मीद कर रहा था कि किसी के पास एक वास्तविक उत्तर होगा जो "मुझे नहीं पता!" इस में। :)
स्टीवन फिशर

जवाबों:


26

git Xcode द्वारा स्थापित है। मुझे संदेह है कि यदि आप इसे प्रतिस्थापित करते हैं तो आपको कोई समस्या होगी, लेकिन मैं आपको इसका निश्चित उत्तर नहीं दे सकता ...

  1. मैं क्या करूँगा पुराने का नाम बदल दिया /usr/bin/gitहै git_old, फिर नए का चयन करने के लिए अपने पथ पर भरोसा करें।
  2. यदि वह काम नहीं करता है , तो नए को एक में ले जाएँ /usr/bin। मुझे संदेह है कि Xcode इस बारे में उपयुक्त है कि यह किस संस्करण का उपयोग कर रहा है।
  3. है कि अभी भी काम नहीं करता है , इस कदम git_oldको वापस /usr/bin/gitऔर उपयोग या तो एक सीधा रास्ता, नाम बदलने या अन्य नाम अपने नए एक के लिए।

मुझे संदेह है कि आपको # 1 से ऊपर जाना होगा, हालाँकि। इतना काफी होना चाहिए।

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


3 विकल्प: पहले एक ने अच्छी तरह से काम करने की पुष्टि की।
मारीस ब्यूटिक

9

जब तक आप वास्तव में अंतरिक्ष के लिए तंग न हों, आपको दूसरे संस्करण को हैक करने की आवश्यकता नहीं है। अपने .bash_profile को संपादित करें और सुनिश्चित करें कि / usr / स्थानीय / बिन आपके सामने / चर में हमारे usr / बिन के सामने होता है

व्यक्तिगत रूप से मैं एक योजना को अपनाना चाहता हूं जिसमें उपकरण पथ परिभाषित हो और इनसे निर्मित पथ

GIT_HOME=/usr/local

PATH=${GIT_HOME}/bin:${PATH};export PATH
MANPATH=${GIT_HOME}/share/man:${MANPATH};export MANPATH

इसका मतलब यह है कि PATH का उपयोग करने वाले उपकरणों की खोज करने वाले कुछ भी आपके git संस्करण को खोज लेंगे, और कुछ भी जो "वास्तव में" / usr / बिन संस्करण के पास होगा, सबसे अधिक संभावना है कि उस पथ को हार्ड वायर्ड किया जा सकता है और अभी भी इसे पा सकता है


6

मेरे पास एक ही समस्या थी: Git का एक पुराना संस्करण जो Xcode संस्करण था। मैं से Git का एक नया संस्करण स्थापित करने के लिए कोशिश की है http://git-scm.com/ और अद्यतन bash_profileके साथ

PATH=/usr/local/git/bin:$PATH

फिर अपने बैश को पुनः लोड करें और प्रयास करें git --version

मेरे लिए काम किया :)


1

मेरे सिस्टम पर (10.7.3, Xcode 4.3.2) Xcode gitस्थापित नहीं है /usr/bin/git। सभी Xcode 4 (ऐप स्टोर के सभी ऐप की तरह, मुझे लगता है) इसके .app बंडल में है। विशेष रूप से, इसकी गिट पर है /Applications/Xcode.app/Contents/Developer/usr/bin/git

मैं हर समय git (Xcode के माध्यम से) का उपयोग करता हूं, और मेरे पास /usr/bin/gitयहां बिल्कुल नहीं है। तो यह डिफ़ॉल्ट शेर का हिस्सा नहीं है, या तो, या कम से कम, उस स्थान पर नहीं।

FWIW, Xcode.app बंडल में गिट के पास एक --versionरीड है:

git संस्करण 1.7.7.5 (Apple Git-26)

इसलिए मैं शर्त लगाता हूं कि आपका /usr/bin/gitअपना इंस्टॉलेशन है, और इसे अपडेट करने से कुछ भी नहीं हो सकता।

वैकल्पिक रूप से, आप Xcode स्थापित कर सकते हैं (यह मुफ़्त है!), और /Applications/Xcode.app/Contents/Developer/usr/bin/अपने $ पेट में डालें , लेकिन यह ओवरकिल है यदि आप केवल गिट चाहते हैं।


मेरे पास xcode भी है, इसलिए मेरे पास वर्तमान में स्थापित git के तीन संस्करण हैं ... अच्छा लगता है!
cromestant

1
यदि आपके पास नहीं है /usr/bin/git, तो आप शायद Xcode "कमांड लाइन टूल्स" को स्थापित नहीं करते हैं। देखें stackoverflow.com/q/9329243/152142
जस्टिन एम। कीज़

1

केन सही है कि git केवल Xcode.app पथ के माध्यम से उपलब्ध था। जब मैंने माउंटेन लायन (10.8) स्थापित किया था, तो अचानक मुझे / usr / bin / git में git हो गया था, इसलिए यह एक माउंटेन लायन जोड़ था जहाँ तक मैं बता सकता हूँ ...

हालांकि ... मैंने तब से कुछ चीजें स्थापित की हैं और मुझे पूरी तरह यकीन नहीं है कि यह किसी और चीज के लिए निर्भरता नहीं थी।


0

मैं वास्तव में नहीं जानता, मुझे लगता है कि मैंने क्षण के लिए गिट या एक्सकोड स्थापित नहीं किया है, लेकिन होमब्रे को स्थापित करने और चलाने के बाद brew doctorयह कहता है:

$ brew doctor
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack

Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

तो क्यों? मैंने अभी XCode (माउंटेन लायन) के लिए कमांड लाइन टूल स्थापित किया है और मुझे लगता है कि यह वही है जिसने इसे स्थापित किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.