MacOS पर Git को नवीनतम संस्करण में अपग्रेड कैसे करें?


165

मैंने अभी OS X लॉयन के साथ एक नया मैक खरीदा और मैंने टर्मिनल में चेक किया कि डिफ़ॉल्ट रूप से git का कौन सा संस्करण स्थापित है। मुझे जवाब मिल गया

git --version
> git version 1.7.5.4

मैं नवीनतम संस्करण 1.7.8.3 पर git को अपग्रेड करना चाहूंगा, इसलिए मैंने dmg इंस्टॉलर "git-1.7.8.3-Intel-Universal-snow-leopardinosg" डाउनलोड किया और मैंने इसे लॉन्च किया।

स्थापित होने के बाद, टर्मिनल अभी भी कहता है कि संस्करण 1.7.5.4 है। मैं क्या गलत कर रहा हूं?


4
which gitयह देखने के लिए टाइप करें कि बाइनरी कहाँ है। क्या उसी जगह आपने नया स्थापित किया है?
ग्रेग हेविल जिल

4
यह /usr/bin/git1.7.5.4 के लिए कहता है , लेकिन मैं कैसे जान सकता हूं कि डीएमजी ने नया संस्करण कहां स्थापित किया है? यह स्वचालित रूप से पिछले संस्करण को अपग्रेड / अधिलेखित क्यों नहीं करता है? यदि मैं नए का उपयोग करना चाहता हूं तो मैं gitकमांड को नए संस्करण से कैसे जोड़ सकता हूं ? (वैसे आपके वास्तव में त्वरित उत्तर के लिए धन्यवाद!)
निकोलस रेनॉन

1
मेरे मैक पर (ओएस 10.6.8) पुराना git 1.7.5.4 / usr / bin / git में रहता है, जबकि नया git इंस्टॉलर 1.7.11.3 git / usr / local /
miker

मुझे आश्चर्य है कि अगर superuser.com/a/580611/74576 एक अच्छा तरीका है। काश मैं इसके लिए आदेशों का पता लगा सकता।
रयान

मैंने .bashrc के बजाय .bash_profile में प्रवेश किया और यह काम किया। मुझे लगता है कि यदि आपका टर्मिनल "डिफ़ॉल्ट लॉगिन शेल" के रूप में चल रहा है तो ऐसा होता है।
स्वप्निल चिंचोलकर

जवाबों:


58

अगर आपने जोड़ा तो यह शायद बेहतर होगा:

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

अपने होम फोल्डर में .bashrc नाम की फाइल को। इस तरह से कोई भी अन्य सॉफ़्टवेयर जिसे आप इंस्टॉल कर सकते /usr/local/git/binहैं, पहले भी मिल जाएगा।

ऐसा करने के लिए एक आसान तरीका के लिए:

echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc

टर्मिनल में और यह आपके लिए कर देगा।


1
जैसे README.txt कहता है, git / usr / local / git पर संस्थापित है।
बनसौस

18
kmikael की आसान टिप सिर्फ बैश के लिए है। (मैक डिफ़ॉल्ट शेल को बदलने के लिए सिस्टम प्रीफ़ में खातों या "उपयोगकर्ता और समूह" विंडो अनलॉक करें, "उन्नत विकल्प" के लिए नियंत्रण-क्लिक करें।) bashrc के बजाय bash_profile का उपयोग करने वाला एक सुझाव, जैसे echo 'export PATH="/usr/local/git/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profileकि moncefbelyamani.com पर है । .Bash_profile या .bashrc में जोड़ दिया जाए की चर्चा में है superuser.com
miker

इंस्टॉल करने के लिए आपने क्या किया git? मैंने अभी नवीनतम संस्करण की जाँच की है, यहाँ आधिकारिक इंस्टॉलर git को स्थापित करता है /usr/local/git/bin/git, जिसका अर्थ है कि उपरोक्त विधि अभी भी 10.8.4 पर काम करना चाहिए।
किमीकैल

धन्यवाद @ मिकर ने मेरे लिए .bash_profile के साथ काम किया, लेकिन .bashrc नहीं।
adimauro

मैंने इस समाधान को अनियंत्रित किया, भले ही यह काम करता हो। कृपया स्पष्टीकरण के लिए मेरे संदेश का मेरा अपडेट पढ़ें।
निकोलस रेनॉन

52

यह आसान है अगर आपके पास पहले से ही Homebrew है : मान लें कि आपने homebrew स्थापित किया है, तो निम्न टाइप करें:

brew install git

एक बार जब यह स्थापित हो जाता है, तो निम्न दो लाइनें टाइप करें, जो कि ऐप्पल एक के बजाय स्थानीय गिट डिस्ट्रो के लिए हमारा रास्ता तय करेगा।

export PATH=/usr/local/bin:$PATH
git --version

यदि आप गृहस्वामी नहीं हैं, तो इस चरण की जाँच करें

$ git --version

बैकअप (या निकालें) Apple git (वैकल्पिक)

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

अगर आपके पास नहीं है तो Homebrew इंस्टॉल करें

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

या यदि आपके पास पहले से अपडेट है

$ brew update && brew upgrade

Homebrew के साथ Git इंस्टॉल करें

$ brew install git

प्रतीकात्मक लिंक

$ brew link --force git

टर्मिनल बंद करें और फिर से खोलें संस्करण की जाँच करें

$ git --version

तुम्हे देखना चाहिए…

git version <latest version>

अच्छा! हम अब सुरक्षित हैं! और अगली बार जब आप बस…

$ brew update && brew upgrade


10
के बारे में sudo mv /usr/bin/git /usr/bin/git-apple: सिस्टम नाम बदलने का काम macOS El Capitan पर नहीं होगा और बाद में जब तक आप सिस्टम इंटीग्रिटी प्रोटेक्शन को अक्षम नहीं करते हैं, जैसा कि यहां बताया गया है। Apple.stackexchange.com/a/248229/16290 । व्यक्तिगत रूप से मैं सिर्फ अपना अपडेट करता हूं PATHजो /usr/local/binपहले आता है /usr/bin। इस तरह से Homebrew का गिट हमेशा पूर्वता लेता है (आपके पास टर्मिनल और फिर से खुला होने के बाद)। सुरक्षा सुरक्षा कमजोरियों के लिए, Apple अंततः अपने सुरक्षा अपडेट के साथ बंडल किए गए गिट को अपडेट करेगा। इस बीच में, कोई वर्णित के रूप में PATH को कॉन्फ़िगर करके अंतर्निहित गिट का उपयोग करने से बच सकता है।
नैट कुक

16

Google पर "मैक पर गिट अपग्रेडिंग में परेशानी" की खोज करने के बाद, मैंने कई पोस्ट पढ़े और चरण 4 द्वारा समस्या का समाधान करने से पहले निम्नलिखित का प्रयास किया:

  1. मैंने उपर्युक्त निर्यात कमांड का उपयोग करके अपने टर्मिनल पथ को अपडेट किया। हर बार जब मैंने टर्मिनल छोड़ दिया और इसे फिर से शुरू किया, जब मैंने git --versionटर्मिनल टाइप किया, तो यह अभी भी पुराने संस्करण 1.8 को लौटाता है।

  2. मैंने मौजूदा संस्करण 2.0.1 को अपग्रेड करने के लिए README.txt निर्देशों का पालन किया है जो .dmg इंस्टॉलर के साथ आता है और जब मैंने टर्मिनल को फिर से शुरू किया, तब भी नहीं गया।

  3. मैंने ऊपर दिए गए निर्देश के अनुसार / etc / path / folder की तलाश की और "पथ" नामक निर्देशिका मेरे मैक पर मौजूद नहीं है। मैं OS X Mavericks संस्करण 10.9.4 चला रहा हूं।

  4. फिर मुझे याद आया कि मैंने अपने मैक पर होमब्रे को स्थापित किया है और निम्नलिखित भाग गया है:

    brew --version
    brew update
    brew search git
    brew install git
    

इससे आखिरकार मेरी समस्या हल हो गई। अगर किसी के पास कुछ अंतर्दृष्टि है कि यह क्यों काम करता है, तो आगे की अंतर्दृष्टि बहुत सराहना की जाएगी। मैं शायद पिछले साल रूबी के साथ काम करने से अपने सिस्टम पर कुछ पथ सेटिंग छोड़ चुका हूं।


1
मैंने पहले ही गिट स्थापित कर दिया था। इसलिए अंतिम चरण का पालन करते समय brew install gitमुझे एक त्रुटि संदेश मिला और इसने brew upgrade gitइसके बजाय कमांड निष्पादित करने का सुझाव दिया । आप आदमी हो! कि बस चाल किया :)
Pathros

15

मैंने हाल ही में अपने OS X मशीन पर Git को नवीनतम में भी अपग्रेड किया है। मैं उसी का उपयोग नहीं करता था .dmgजिसका आप उपयोग करते थे, लेकिन जब मैंने इसे स्थापित किया तो बायनेरिज़ को अंदर रखा गया था /usr/local/bin। अब, जिस तरह से मेरी PATHव्यवस्था की गई थी, उससे /usr/binपहले निर्देशिका दिखाई देती है /usr/local/bin। तो मैंने क्या किया:

cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/

यह git*एक नया उपनिर्देशिका नाम के कई मूल कार्यक्रमों को स्थानांतरित करता है जो उन्हें रास्ते से दूर रखता है। उसके बाद, which gitपता चलता है कि एक में /usr/local/binपाया जाता है।

जहाँ भी आपने नया बायनेरिज़ स्थापित किया है, फिट करने के लिए उपरोक्त प्रक्रिया को संशोधित करें।


2
धन्यवाद! दरअसल नए बायनेरिज़ को अंदर रखा गया था /usr/local/git
निकोलस रेनोन

1
नोट: मुझे नया गिट देखने के लिए टर्मिनल को फिर से शुरू करना पड़ा। स्पष्ट लगता है, लेकिन पहली बार में मुझे उलझन में है।
migg

15

अगर homebrew का उपयोग कर आप सिम लिंक का उपयोग कर अद्यतन कर सकते हैं

brew link --overwrite git

मैंने इस एक के ऊपर अन्य सभी उत्तरों की कोशिश की और यही आखिरकार मुझे गिट के नवीनतम संस्करण के साथ स्थापित किया। दौड़ने brew install gitसे मुझे नवीनतम संस्करण मिला लेकिन इसने सिम्लिंक को ठीक से स्थापित नहीं किया। रनिंग brew link gitने मुझे यह कहते हुए एक त्रुटि दी कि यह git को सहानुभूति नहीं दे सकता क्योंकि यह पहले से मौजूद था। अंत में चल रहे brew link --overwrite gitताबूत में कील डाल दिया ताकि अब git --versionमैं git के सबसे अद्यतित संस्करण पर दिखाता हूं
Gharbad The Weak

7

Git होमपेज से इंस्टॉलर /usr/local/gitडिफ़ॉल्ट रूप से इंस्टॉल हो जाता है। हालाँकि, यदि आप XCode4 स्थापित करते हैं , तो यह एक git संस्करण स्थापित करेगा /usr/bin। यह सुनिश्चित करने के आप आसानी से वेबसाइट से उन्नयन और नवीनतम Git संस्करण, संपादित करें या तो जगह पर अपने प्रोफ़ाइल जानकारी का उपयोग कर सकते हैं /usr/local/git/binइससे पहले कि /usr/binमें $ पथ या संपादित /etc/pathsऔर डालने /usr/local/git/binपहली प्रविष्टि के रूप में।

यह किसी को कम से कम / / / मेरे लिए काम करने वाले रास्तों में क्रम बदलने में मदद कर सकता है।



6

मैंने मैक पर git को अपग्रेड करने के लिए निम्नलिखित का उपयोग किया।

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1

मेरे मामले में मेरे पास पहले से ही स्थापित किया गया था, और मैंने होमब्रे का उपयोग करके फिर से स्थापित किया, जिसने एक नया संस्करण डाउनलोड किया, लेकिन यह ठीक से जुड़ा नहीं था। मैं समाप्त करने के लिए मैन्युअल रूप से अनलिंक करने की आवश्यकता समाप्त कर दिया, फिर relink तो यह काम किया। मुझे अपने टर्मिनल सत्र को फिर से खोलने की आवश्यकता थी ताकि पुराने / सिस्टम संस्करण के बजाय नया संस्करण मिल जाए: brew unlink git && brew link git && source ~/.bashrc
फायरड्रैगन

5

मैंने अब तक का सबसे सरल तरीका git आधिकारिक वेबसाइट से प्राप्त किया है। यह सिर्फ निर्भरता की गणना करता है और सभी आवश्यक पुस्तकालयों / उपकरणों को डाउनलोड करता है

http://git-scm.com/book/en/Getting-Started-Installing-Git

दूसरा प्रमुख तरीका है Git को MacPorts ( http://www.macports.org ) के जरिए इंस्टॉल करना । यदि आपके पास MacPorts स्थापित है, तो Git को स्थापित करें

$ sudo पोर्ट git-core + svn + doc + bash_completion + gitweb स्थापित करें


2

दोनों संस्करणों को रखने के लिए, मैंने नए संस्करण के गिट पथ "/ usr / लोकल / गिट / बिन /" को प्रारंभ में डालकर केवल PATH पर्यावरण चर का मान बदल दिया, यह नवीनतम संस्करण का उपयोग करने के लिए मजबूर करता है:

$ गूंज $ पाथ

/ Usr / bin: / बिन: / usr / sbin: / sbin: / usr / स्थानीय / बिन: / opt / X11 / बिन: / usr / स्थानीय / Git / bin /

$ गिट --version

git संस्करण 2.4.9 (Apple Git-60)

मूल मूल्य: / usr / बिन: / बिन: / usr / sbin: / sbin: / usr / स्थानीय / बिन: / ऑप्ट / X11 / बिन: / usr / स्थानीय / git / बिन /

नया मूल्य: / usr / स्थानीय / गिट / बिन / : / usr / बिन: / बिन: / usr / sbin: / sbin: / usr / स्थानीय / बिन: / ऑप्ट / X11 / बिन

$ निर्यात पथ = / usr / स्थानीय / गिट / बिन /: / usr / बिन: / बिन: / usr / sbin: / sbin: / usr / स्थानीय / बिन: / ऑप्ट / X11 / बिन

$ गिट --version

git संस्करण 2.13.0


1

होमब्रे के बिना

  1. Git की वेबसाइट से इंस्टॉलर का उपयोग करें।
  2. अपनी ~/.bash_profileफ़ाइल को अपडेट करें । ध्यान दें कि यह कमांड क्या फ़ाइल में रखता है, के kmikael के उत्तर से अलग है:
    • अन्य आदेश: export PATH=/usr/local/git/bin:/usr/local/sbin/:[and so on]
    • नीचे आदेश: export PATH="/usr/local/git/bin:/usr/local/sbin:$PATH"
    • जिसे भी आप पसंद करते हैं, उसका उपयोग करें।

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

  1. यदि आप Xcode का उपयोग कर रहे हैं, तो आपको कुछ प्रतीकात्मक लिंक जोड़ने होंगे ।
    • उदाहरण: ln -s /opt/local/bin/git /usr/bin/git
  2. टर्मिनल को पुनरारंभ करें।
    • which gitREADME.txtdmg से फ़ाइल में निर्देशिका कहना चाहिए ।
    • git --version अद्यतन संस्करण कहना चाहिए।
    • echo $PATH से शुरू होना चाहिए /usr/local/git/bin:/usr/local/sbin:

0

मैं पथ पदानुक्रम में परिवर्तन नहीं करना पसंद करता हूं, लेकिन विशेष रूप से गिट से निपटना ... यह जानना कि मैं कभी भी पुराने गिट का उपयोग करने के लिए नहीं जा रहा हूं जो अब नया प्रबंधन करेगा । यह एक क्रूर बल समाधान है।

नोट: मैं Yosemite (10.10.2) स्वच्छ पर XCode स्थापित पहले

फिर मैंने git-scm.com पर उपलब्ध बाइनरी से इंस्टॉल किया ।

$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)

0

मैंने इसे इस तरह से किया:

  1. मैक पर स्थापित GitHub एप्लिकेशन खोलें
  2. उन्नत टैब पर क्लिक करें → कमांड लाइन उपकरण स्थापित करें
  3. एक बार जब आपको संदेश मिलता है कि सभी कमांड आपके टर्मिनल को बंद कर दिए गए हैं और इसे फिर से खोलना है।
  4. अब जांचें git --version, यह आपको नवीनतम संस्करण देना चाहिए।

0

आपको शेल पथ को समायोजित करने की आवश्यकता है, पथ आपके घर में या तो .bashrc या .bash_profile में सेट किया जाएगा, अधिक संभावना है। bash_profile।

इसलिए नीचे के समान पथ में जोड़ें और जो आपके पास पहले से पथ में है, उसे प्रत्येक खंड को एक कॉलोन द्वारा अलग किया जाता है:

निर्यात पथ = "/ usr / स्थानीय / बिन: / usr / बिन / git: / usr / बिन: / usr / स्थानीय / sbin: $ PATH"


0

नवीनतम संस्करण git-scm.com पर मैक के लिए बाइनरी के रूप में उपलब्ध नहीं था, इसलिए मैंने स्रोत से स्थापित किया। मुझे स्थानीयकरण के लिए एक आवश्यक पैकेज याद आ रहा था, और NO_GETTEXT=trueस्थानीयकरण के बिना स्थापित करने के लिए जोड़ा गया।

git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install

यह स्थापित किया gitगया था ~/binजिसके तहत मुझे अपने PATHचर की शुरुआत में जोड़ना था ।

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