HomebrewをインストールしたgitをMacで使用するには?


115

homebrewを使用して最新バージョンのgit(1.8.3)をインストールしましたが、入力すると

git --version

私の端末では、次のように出力されます:

git version 1.7.10.2 (Apple Git-33)

古いバージョンのgitを新しいバージョンに置き換えるにはどうすればよいですか?


2
あなたにはいくつかの良い答えがあります-私は質問にコメントしたかったです。homebrewまたはGUIクライアントのソースからgitをインストールするための明示的な指示を探していますか、OS XがgitのいくつかのバージョンをコアOSにバンドルしていることを確認していますか?opensource.apple.com/source/Git(FWIW-これまでにAppleバンドルを見た最新のgitは、Git-37からの
1.7.12.4です

回答:


105

有益な回答をありがとう。私の場合、追加

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

~/.bash_profile続いて

source ~/.bash_profile

ユーザーの問題を解決しました。


17
ユーザー間で変更を永続的にしたい場合は、/usr/local/bin/usr/binで移動できます/etc/paths
ケビン

3
これは、実行しているときに自作自体によって提案されたソリューションでbrew doctor、問題を診断する
VoxPelli

1
定義のKevinT提案されたソリューションでこの答えをアップデートするべき/etc/pathsです。場合にのみ、「輸出」を定義することは、十分ではないかもしれない/usr/bin上、「優先」を持っている/usr/local/bin(醸造から)...
emgsilva

8
ターミナルを忘れずに再起動してください!以下のフアンディエゴゴンザレスのコメントを見るまで私に発生しませんでした
Souleiman

2
@Souleiman:再起動は必要ありません。source ~/.bash_profileそれを読み直します。再起動は、おそらくより高速/簡単です。:)

43

OK、私は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にあるので、自作のgitに勝ります。何をすべきか?

(A)Appleのバイナリの名前を変更するだけ

(B)自作の管理が優先されます:

[〜/ .zshrc(oh-my-zsh + iTerm2 FTW!/ tangent)などのPATHエクスポートを編集]

[具体的には、/ usr / local / bin / git:を/ usr / bin:の前に移動します]

...および/または(たとえば、より広くhomebrewのものをシステムのインストールより優先させ、すべてのシェルとユーザーに優先順位を適用させるため)/ etc / pathsファイルも編集します[/ usr / local / binを/ usr / 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を読む時間です!:)


PS / Relは、/ usr / binを編集するリスクについてコメントしています:私見はNBDです。(私はグローバルな遊牧民の提案が好きです。「sudo ln -s / usr / local / bin / git / usr / bin / git」を実行します...これにより、「/ usr / bin / git」を呼び出すものが明示的に取得されます。しかし、私の考えでは、gitをインストールすることは、システムでgitの所有権を取得していることを意味します。古い代替バージョンのgitを使用する不明なプロセスの心配は見当違いかもしれません。 gitのバージョン(セキュリティのためだけではなく、特徴)、そしてそれを自分で管理する自作は、この簡単になり/$0.02。。
cweekly

これは私にとってはうまくいきませんでした。元に戻すには、sudo mv / usr / bin / git-apple / usr / bin / gitを実行してください。Juan Diego Gonzalesのコメントは機能しました。(基本的に、受け入れられた答えに従い、ターミナルを再起動します)。
-Souleiman

which git指しても/usr/local/bin/git、これはうまくいきませんでした。これを解決するには、GitHub Macアプリをアンインストールする必要がありました。
ベン

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
Vladislav Rastrusny

最近では、homebrewがPATHの「フロント」に位置するようになっているので、うまくいけば不要になります:)
rogerdpack

32

ステータス2019

ここでいくつかの回答で言及されたすべてのトリックは、最新のHomebrewを搭載したmacOS Sierra&Mojaveではもう必要ありません。を忘れexport PATH="..."て変更し~/.bash_profileます。

あなたはただやる

brew install git

完了しました。

確認するには、新しい(!)ターミナルウィンドウを開き、次のように入力します。

git --version

16
これは正しいと思いますが、新しいターミナルを開く必要があるか、変更が
反映

残念ながらこれはうまくいきません。
rsp1984

2
これはMojaveでうまくいきました。私はなかった新しいターミナルを開く必要があります。
クレイグオーティス

2
brew link --overwrite git私のために働いた
wickdninja

9

brew(brew install git)を使用して最新のgitをインストールしbrew doctorたら、まだ提案されていない場合は、このワンライナーを実行します(まだ提案されていない場合)。

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

次に、Terminalを終了して再度開きます(bashセッションを再起動します)。ZSHとBashがPATHのコンテンツをキャッシュするため、PATHが既に正しい場合でもこれを行う必要があります(組み込みコマンドのドキュメントを参照hash)。

それは非常に速く物事を修正するはずです。


1
これは受け入れられた答えとどう違うのですか?
user151019 14年

6
私の場合、Terminalを再起動する必要があることを知りませんでした。ライナーが1つあるため、受け入れられているよりも高速です。競争の場合、私の答えは見当違いだと思います。そうでなければ、私はそれが貢献すると思います。(これの代わりに編集してほしい場合は教えてください)。
フアンディエゴゴンザレス14年

Homebrew
user151019

7
この回答は役に立ちました。ターミナルの再起動は、.bash_profileの動作に不慣れな多くの人にとっては自明ではない問題であり、残りの人たちにとっては穏やかなリマインダーです。
マグネ

@JuanDiegoGonzales素晴らしい観察!gitをインストールした後、まったく同じことを考えていたのに、その理由がわかりませんでした。キャッシュのヒントの後、もう少し調査しました:unix.stackexchange.com/q/5609/52921
kstratis

4

入力するとき

git --version

Terminal.appまたはコンソールで、返されるバージョンが/ usr / bin / gitのgitであることを示す別の質問に対するコメント

Xcode 4.5(およびそれ以降)をインストールして、次を入力した場合

xcrun git --version

Terminal.appまたはコンソールで返されるバージョンは、Xcodeアプリバンドルのgitです。

Homebrewを使用してgitをインストールおよび更新する場合、最も簡単な解決策は

  1. 管理者のパスワードを求められるので、管理者権限があることを確認してください
  2. mvを使用して元の場所の名前を変更して、元の場所の名前を変更します。例えば

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

  3. Homebrewでインストールしたgitバイナリへの「ln -s」を使用してソフトリンクを作成します。

コメントには、MattDMoの方が優れたソリューションがあることに注意してください。


これは100%安全ですか?Mac関連の何かを壊しますか?
レヴァニ

概説した手順に従えば、これらのgit実行可能ファイルは削除されないため、ソリューションは事前にインストールされたものを壊しません。これは、ステップ2で、あなたは/usr/bin/git.BACKUPとして例えばのためにあなたの元は/ usr / binに/ gitの名前を変更しなければならない理由です
グローバル遊牧民の

10
これを行わないでください。/usr/binあなたが知りさえしない他のプログラムが特定のバージョンに関連する気まぐれに依存している可能性があるので、実際にいじってはいけません。何も移動せずに最も簡単な解決策は、IIRC、homebrewのインストール前に環境変数に追加する/usr/local/binこと$PATHです/usr/bin/usr/local/bin
-MattDMo

@MattDMoに感謝します。この場合、それが最良のアプローチのようです。
レヴァニ


1

通常はbrew stuffが存在するパスディレクトリ内の前にある/usr/bin/ため、元のgitの名前をAppleによってgit-org などに変更する必要があります。/usr/bin/usr/local/bin

そう:

cd /usr/bin
sudo mv git git-org

醸造gitをリンクすることを忘れないでください

brew link git

これは/usr/local/bin$PATH環境変数にあることを前提としています。それでも問題がある場合は、実行してみてください

brew doctor 

そこに記載されている問題を修正します。


3
/ usr / binの名前を変更したり、変更したりしないでください。Appleの悪党を壊す可能性があり、システムまたはXCodeの更新を行うと変更されます。設計されているパスを使用してください。
user151019

@Markにポイントがあります。ただし、/ usr / binのgitのみを変更すると問題が発生するとは思わない。私にとっては、数ヶ月働いています。
プフィッツ

通常、/ usr / binの変更は悪いニュースですが、実際にgitを使用してOS Xを思い出すことはできません。そのため、その害は非常に小さく、領収書に一致する「クリーン」システムにのみ関連する可能性があります。害は、OS Xの更新により、新しいgitが古いバージョンに置き換えられる可能性があるため、システムパスの場所の外側に新しいバイナリを配置する通常の方法です。
bmike

3
名前の変更やバックアップなどを/usr/local/bin$PATH/usr/bin
いじるの

1

gitをbrewでインストールし、これを実行します。

brew link --force git

ターミナルを閉じて再度開き、実行しますwhich git


1
それはデフォルトのパスをどのように変更しますか?
user151019

これは、xcodeのgitをオーバーライドするのに役立ちました。
スルジカル

これを実行するとエラーが発生しましたが、動作しbrew link --overwrite gitました
wickdninja

0

git-scm.comから直接gitをインストールしていて、gitのapple(old)バージョンの代わりに最新のダウンロードgitを使用する場合。

  1. git-scm.comからgitをインストールします
  2. ほとんどの場合、新しいgitがインストールされます /usr/local/bin/git
  3. git --versionAppleの古いバージョンのgitが返されたら、以下を試してください。
  4. cd ~ (ディレクトリをホームディレクトリに変更します)
  5. タイプ vi .bashrc
  6. 使用i(viエディターにテキストを挿入するため)
  7. で行が見つかった場合export PATH.......は、エクスポートの上でEnter キーを押し、次を入力します:(変数にexport PATH=/usr/local/:$PATH細心の注意を払ってPATHください。混乱しないと、OSに問題が発生します)(うまくいけば、新しいgitをにインストールする必要があります/usr/local/git
  8. Escキーを押します
  9. Enter :wq.bashrcファイルを保存する)
  10. ターミナルを終了し、新しいターミナルを起動します
  11. 今すぐ試してくださいgit --version(新しいバージョンが表示されるはずです)

-1

gitがどこから来たかによって異なります。Xcodeは、たとえばバージョンを提供します。おそらく、それはあなたのパスで先行しているかもしれません。

たぶんタイピング

which git

古いものがどこにあるかを示します。


それは中だ/usr/bin/git...
Levani

2
これは2つのインストールのように見えます。通常の(ダウンロード可能な)gitバージョンは/ usr / local / git /に行くと思います...それをパスに追加するか、他の(または両方)を削除するかという問題です
-Nicholaz

-2

OSXでHomebrewを使用してgccを使用したコンパイルを行う場合は、Xcodeの更新されたコマンドラインツールがあることを確認してください。アプリの環境設定でシステム全体のツールを非表示にする必要はありません。

手順

  1. Xcode.app —>設定—>ダウンロードに移動します
  2. コマンドラインツールの更新(またはインストール)
  3. brew doctor他のすべての障害を実行して修正する
  4. 実行brew upgradeしてすべてのパッケージを一度にアップグレードします
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.