मैक पर Homebrew स्थापित गिट का उपयोग कैसे करें?


115

मैंने होमब्रे का उपयोग करके गिट (1.8.3) के नवीनतम संस्करण को स्थापित किया है लेकिन जब मैं टाइप करता हूं

git --version

मेरे टर्मिनल में, यह प्रिंट करता है:

git version 1.7.10.2 (Apple Git-33)

मुझे पुराने संस्करण को नए के साथ बदलने के लिए क्या करना चाहिए?


2
आपके पास कुछ अच्छे उत्तर हैं - इसलिए मैं प्रश्न पर टिप्पणी करना चाहता था। क्या आप होमब्रे या जीयूआई क्लाइंट से स्रोत से गिट स्थापित करने के लिए स्पष्ट निर्देशों की तलाश कर रहे हैं या बस पुष्टि करते हैं कि ओएस एक्स कोर ओएस के साथ गिट के कई संस्करणों को बंडल करता है? opensource.apple.com/source/Git (Fwiw - नवीनतम Git मैंने देखा है एप्पल तारीख को बंडल 1.7.12.4 जो Git-37 से आता है)
bmike

जवाबों:


105

उपयोगी उत्तर के लिए सभी को धन्यवाद। मेरे मामले में जोड़ रहा है

export PATH="/usr/local/bin:${PATH}"

में ~/.bash_profileद्वारा पीछा किया

source ~/.bash_profile

मेरे उपयोगकर्ता के लिए समस्या हल कर दी।


17
आप उन के दौरान जारी रहता परिवर्तन चाहते हैं, आप स्थानांतरित कर सकते हैं /usr/local/binइसके बाद के संस्करण /usr/binमें /etc/paths
केविन

3
इस brew doctorसमस्या का निदान करने के लिए चलने पर होमब्रे द्वारा स्वयं प्रस्तावित समाधान है
वोक्सपेली

1
इस उत्तर को परिभाषित करने के केविनटी प्रस्तावित समाधान के साथ अद्यतन किया जाना चाहिए /etc/paths। केवल "निर्यात" को परिभाषित करना पर्याप्त नहीं हो सकता है, यदि /usr/bin" /usr/local/binकाढ़ा " (काढ़ा) से अधिक है ...
emgsilva

8
टर्मिनल को पुनरारंभ करने के लिए याद रखें! जब तक मैंने जुआन डिएगो गोंजालेस की टिप्पणी नीचे नहीं देखी, तब तक मेरे साथ नहीं हुआ था
सौलिमन

2
@Souleiman: पुनः आरंभ करना आवश्यक नहीं है। source ~/.bash_profileफिर से पढ़ेंगे। पुनः आरंभ करना संभवत: अधिक तेज़ / आसान है। :)

43

ठीक है, मैं scm के बारे में गंभीर होने के लिए तैयार हूं।

$ git --version
git version 1.9.5 (Apple Git-50.3)

नहीं, यह वह नहीं है जो मैं चाहता था। I <3 होमब्रे, इसलिए:

$ brew install git

सब तैयार?

$ git --version
git version 1.9.5 (Apple Git-50.3)

रवींद्र! (खरोंच सिर)

$ which git
/usr/bin/git

आह, Apple का git / usr / bin में है, इसलिए यह homebrew को ट्रम्प करता है। क्या करें?

(ए) बस एप्पल के बाइनरी का नाम बदलें

(बी) होमब्रेव-प्रबंधित को पूर्वता दें।

[संपादित करें PATH निर्यात जैसे ~ / .zshrc (ओह-माय-ज़श + iTerm2 FTW! /entent)]

[विशेष रूप से: चाल / usr / स्थानीय / बिन / git: इससे पहले / usr / बिन:]

... और / या (उदाहरण के लिए और अधिक विस्तृत रूप से होमब्रेव सामान ट्रम्प सिस्टम स्थापित करता है, और सभी गोले और उपयोगकर्ताओं के लिए पूर्ववर्ती लागू होता है) / etc / पथ फ़ाइल, [चलती / usr / स्थानीय / बिन ऊपर / usb / bin] संपादित करें ]

लेकिन सिर्फ सबसे सरल / कम से कम आक्रामक दृष्टिकोण मानते हुए:

$ sudo mv /usr/bin/git /usr/bin/git-apple

काम किया?

$ which git
/usr/local/bin/git

अब तक बहुत अच्छा, अब सच का क्षण:

$ git --version
git version 2.2.1

w00t! :) पढ़ने के लिए जाने का समय http://git-scm.com ! :)


पुनश्च संपादन / usr / बिन के जोखिम के बारे में टिप्पणियों से संबंधित: IMHO यह NBD है। (थो मैं ग्लोबल खानाबदोश की शक्कर पसंद करता हूं। "सुडो लेन-एस / यूएसआर / लोकल / बिन / गिट / यूएसआर / बिन / गिट" करने के लिए ... जो यह सुनिश्चित करता है कि कुछ भी कॉलिंग "/ यूएसआर / बिन / गिट" स्पष्ट रूप से मिलेगा आपके काढ़ा-प्रबंधित एक। लेकिन मेरा लेना यह है कि, git स्थापित करने का अर्थ है कि आप अपने सिस्टम पर git का स्वामित्व ले रहे हैं। अज्ञात प्रक्रियाओं के बारे में चिंता करते हुए, पुराने, git के वैकल्पिक संस्करण का उपयोग करके गलत तरीके से उपयोग किया जा सकता है। मैं आपको w / तारीख तक रखने की सलाह देता हूं। git संस्करण (सुरक्षा के लिए, न कि केवल सुविधाएँ), और इसे स्वयं प्रबंधित करना। Homebrew यह आसान बनाता है। /$0.02
cweekly

यह मेरे लिए काम नहीं किया, इसे पूर्ववत करने के लिए, बस करो: sudo mv / usr / bin / git-apple / usr / bin / git। जुआन डिएगो गोंजालेस की टिप्पणी ने काम किया। (मूल रूप से, स्वीकृत उत्तर का पालन करें फिर टर्मिनल को पुनः आरंभ करें)।
सौलिमन

which gitइशारा करने के साथ भी /usr/local/bin/git, यह मेरे लिए काम नहीं किया। इसे हल करने के लिए, मुझे GitHub मैक ऐप को अनइंस्टॉल करना पड़ा।
बेन

2
MacOS 10.12.5:sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
व्लादिस्लाव रास्ट्रुसनी

इन दिनों ऐसा लगता है कि
होमबॉर्न

32

स्थिति 2019

कई जवाबों में यहां बताए गए सभी ट्रिक्स नवीनतम होमब्रेव के साथ macOS सिएरा और मोजाव पर अब आवश्यक नहीं हैं। भूल जाओ export PATH="..."और संशोधनों के लिए ~/.bash_profile

आप बस करो

brew install git

और आपका किया

पुष्टि करने के लिए, एक नया (!) टर्मिनल विंडो खोलें और टाइप करें

git --version

16
मुझे लगता है कि यह सही है, लेकिन आपको एक नया टर्मिनल खोलने की जरूरत है या बदलाव को उठाया नहीं गया है
रोबजिलकिंस

यह मेरे लिए दुर्भाग्य से काम नहीं करता है।
rsp1984

2
यह मेरे लिए Mojave पर काम किया। मुझे एक नया टर्मिनल खोलना था
क्रेग ओटिस

2
brew link --overwrite gitमेरे लिए काम किया
wickdninja

9

एक बार जब आप काढ़ा ( brew install git) के माध्यम से नवीनतम गिट स्थापित करते हैं , तो इस एक-लाइनर को चलाएं (जैसा कि पहले से सुझाव दिया गया है brew doctor) यदि यह पहले से ही नहीं है:

echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile

फिर टर्मिनल को फिर से खुला छोड़ दें (अपने बैश सत्र को पुनरारंभ करें)। यदि आपके PATH पहले से ही सही था, तो भी आपको ऐसा करने की आवश्यकता है, क्योंकि ZSH और Bash PATH की सामग्री को कैश करते हैं (अंतर्निहित कमांड पर प्रलेखन देखें hash)।

यह वास्तव में तेजी से चीजों को ठीक करना चाहिए।


1
यह स्वीकृत उत्तर से कैसे भिन्न होता है?
user151019

6
मेरे मामले में, मुझे नहीं पता था कि मुझे टर्मिनल को फिर से शुरू करना होगा, ताकि वह हिस्सा कुछ लोगों की मदद कर सके। एक लाइनर की वजह से स्वीकृत की तुलना में तेज है। यदि यह एक प्रतियोगिता है तो मुझे लगता है कि मेरा उत्तर गलत है। अन्यथा मुझे लगता है कि यह योगदान देता है। (मुझे बताएं कि क्या आप चाहते हैं कि मैं इसके बजाय एक संपादन करूं)।
जुआन डिएगो गोंजालेस

आप उस एक लाइनर को करते हैं जब आप Homebrew
user151019

7
मुझे यह उत्तर मददगार लगा। टर्मिनल को फिर से शुरू करना कई लोगों के लिए अपरिचित मुद्दा है जो कि .bash_profile के कामकाज से अपरिचित है, और हममें से बाकी लोगों के लिए एक सौम्य अनुस्मारक है।
मैग्ने

@JuanDiegoGonzales उत्कृष्ट अवलोकन! मैं ठीक उसी चीज़ के बारे में सोच रहा था जब मैंने गिट स्थापित किया और पता नहीं क्यों। कैश हिंट के बाद , मैंने थोड़ा और शोध किया: unix.stackexchange.com/q/5609/52921
kstratis

4

जब आप टाइप करें

git --version

Terminal.app या कंसोल में, किसी अन्य प्रश्न पर आपकी टिप्पणी से यह संकेत मिलता है कि यह जो रिटर्न देता है वह git in / usr / bin / git है

यदि आपने Xcode 4.5 (और नया) स्थापित किया है, और टाइप करें

xcrun git --version

Terminal.app या कंसोल में, यह जो संस्करण देता है, वह Xcode ऐप बंडल में होता है।

यदि आप git को स्थापित करने और अद्यतन करने के लिए Homebrew का उपयोग कर रहे हैं, तो सबसे सरल उपाय है

  1. सुनिश्चित करें कि आपके पास व्यवस्थापक अधिकार हैं, क्योंकि आपसे व्यवस्थापक के लिए पासवर्ड मांगा जाएगा
  2. mv का उपयोग करके इसका नाम बदलकर मूल स्थान का नाम बदलें। उदाहरण के लिए

    sudo mv / usr / bin / git / usr / bin / git-ORIGINAL

  3. होमबॉव के साथ आपके द्वारा इंस्टॉल किए गए गिट बाइनरी के लिए 'ln -s' का उपयोग करके एक नरम लिंक बनाएं।

ध्यान दें कि मैटीडीएमओ की टिप्पणियों में बेहतर समाधान है।


क्या यह 100% सुरक्षित है? यह कुछ भी संबंधित मैक तोड़ देगा?
लेवनी

यदि आप उल्लिखित चरणों का पालन करते हैं, तो समाधान कुछ भी पहले से स्थापित नहीं होगा, क्योंकि उन निष्पादनों को नष्ट नहीं किया जाता है। यही कारण है कि चरण 2 पर आपको अपने मूल / usr / bin / git का नाम बदलना चाहिए जैसे उदा /usr/bin/git.BACKUP
वैश्विक खानाबदोश

10
कृपया ऐसा न करें - आपको वास्तव /usr/binमें इसके साथ खिलवाड़ नहीं करना चाहिए , क्योंकि यह संभव है कि अन्य कार्यक्रम जिन्हें आप किसी विशेष संस्करण से जुड़ी योनि पर निर्भर नहीं जानते हैं। सबसे आसान उपाय, बिना किसी चीज को /usr/local/bin$PATH/usr/bin/usr/local/bin
हिलाए

धन्यवाद @MattDMo, जो इस मामले में सबसे अच्छा तरीका है।
Levani

2

मैंने यह कोशिश की और यह मेरे लिए काम करता है।

brew link --overwrite git

Mojave (10.14.4) पर मेरे लिए काम किया
peppered

1

आपको ऐप्पल द्वारा मूल git का नाम बदलना /usr/bin/है जैसे git-org क्योंकि आपके पथ निर्देशिका में /usr/binसामान्य रूप से पहले /usr/local/binहै जहाँ काढ़ा सामान है।

इसलिए:

cd /usr/bin
sudo mv git git-org

और काढ़ा गिट लिंक करने के लिए मत भूलना

brew link git

यह मानता है कि /usr/local/binआपके $PATHपर्यावरण चर में है। यदि आपको अभी भी समस्या है तो चलाने का प्रयास करें

brew doctor 

और वहां बताई गई समस्याओं को ठीक करें।


3
/ Usr / बिन में चीजों का नाम या chnage न करें क्योंकि यह Apple थिग्स को तोड़ सकता है और जब आप सिस्टम या XCode अपडेट करते हैं तो वे chnaged हो जाएंगे। पथ का उपयोग करें जो कि इसके लिए डिज़ाइन किया गया है,
user151019

@ आप एक बिंदु है। लेकिन मुझे विश्वास नहीं है कि यदि आप केवल git / usr / bin में परिवर्तन करते हैं तो आपको परेशानी होगी। मेरे लिए यह कई महीनों से काम कर रहा है।
Pfitz

मैं इस बात से सहमत हूं कि सामान्य रूप से / usr / bin में चीजें बदलना बुरी खबर है, लेकिन मैं वास्तव में git का उपयोग करते हुए OS X को याद नहीं कर सकता हूं, इसलिए नुकसान शून्य से कम हो सकता है और केवल "क्लीन" सिस्टम से संबंधित होता है जो प्राप्तियों से मेल खाता है। नुकसान ओएस एक्स के लिए एक अपडेट होगा जो पुराने संस्करण के साथ नए गिट को बदल सकता है, इसलिए सिस्टम पथ स्थान के बाहर एक नया बाइनरी का पता लगाने के लिए सामान्य अभ्यास।
bmike

3
मुझे लगता है कि नाम बदलने और बैकअप लेने, आदि के साथ घूमने के बजाय /usr/local/bin(होमब्रे की $PATH/usr/bin
इंस्टॉलेशन

1

काढ़ा के साथ गिट स्थापित करें, इसे चलाएं।

brew link --force git

बंद करें और चलाने के लिए टर्मिनल को फिर से खोलें which git


1
वह डिफ़ॉल्ट पथ कैसे बदलता है?
user151019

इसने मेरे लिए xcode के गिट को ओवरराइड करने का काम किया।
सर्जिकल

इसे चलाते समय मुझे एक त्रुटि हुई लेकिन brew link --overwrite gitकाम किया
विकीडिनजा

0

यदि आप सीधे git-scm.com से git इंस्टॉल कर रहे हैं और git के ऐप्पल (पुराने) संस्करण के बजाय नवीनतम डाउनलोड किए गए गिट का उपयोग करना चाहते हैं।

  1. Git-scm.com से git इंस्टॉल करें
  2. सबसे शायद नए गिट में स्थापित किया जाएगा /usr/local/bin/git
  3. कोशिश करें git --version, अगर यह Apple के पुराने संस्करण को वापस लौटाता है तो नीचे जाएँ
  4. cd ~ (परिवर्तन निर्देशिका अपने घर निर्देशिका के लिए)
  5. प्रकार vi .bashrc
  6. iVi संपादक में पाठ सम्मिलित करने के लिए उपयोग करें )
  7. यदि आप के साथ एक लाइन पाते हैं export PATH......., तो निर्यात के शीर्ष पर एंटर दबाएं और निम्नलिखित टाइप करें: export PATH=/usr/local/:$PATH( PATHचर के साथ अत्यधिक सावधानी बरतें, इसे गड़बड़ न करें अन्यथा यह आपके ओएस के लिए समस्या पैदा करेगा) (उम्मीद है कि नया गिट स्थापित किया जाना चाहिए /usr/local/git)
  8. प्रेस esc
  9. दर्ज करें :wq( .bashrcफ़ाइल को बचाने के लिए )
  10. टर्मिनल से बाहर निकलें और नया टर्मिनल शुरू करें
  11. अब प्रयास करें git --version(आपको नया संस्करण देखना चाहिए)

-1

यह इस बात पर निर्भर करता है कि आपका गिट कहाँ से आता है। Xcode उदाहरण के लिए एक संस्करण लाता है, हो सकता है कि आपके मार्ग में अग्रिम हो।

शायद टाइपिंग

which git

दिखाएगा कि पुराना कहां है।


यह /usr/bin/git...
लेवनी

2
जो दो प्रतिष्ठानों की तरह दिखता है। मुझे लगता है कि सामान्य (डाउनलोड करने योग्य) git संस्करण / usr / लोकल / git / पर जाता है ... यह तब पथ में जोड़ने या दूसरे (या दोनों) को हटाने का
प्रश्न है

-2

OSX पर Homebrew का उपयोग करके कुछ भी अपग्रेड करने के लिए जिसमें gcc का उपयोग करके संकलन शामिल है, सुनिश्चित करें कि आपके पास Xcode- यस से अपडेटेड कमांड लाइन टूल है, मुझे पता है, यह एक ऐप की प्राथमिकताओं में सिस्टम-वाइड टूल को छिपाने के लिए बेकार है।

कदम

  1. Xcode.app पर जाएं -> प्राथमिकताएं -> डाउनलोड
  2. अद्यतन (या स्थापित) कमांड लाइन उपकरण
  3. brew doctorअन्य सभी बाधाएँ चलाएँ और ठीक करें
  4. brew upgradeएक बार में सभी पैकेजों को अपग्रेड करने के लिए चलाएँ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.