/ usr / bin / gitはどこから来たのですか?


24

小さな問題があります。ある時点でgitを使用しましたが、GitがデフォルトでLionにインストールされたかどうかは覚えていません。

gitのバージョンとパスは次のとおりです。

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

/ usr / local / gitに新しいgitもあります

新しいバージョンを使用したいのですが、古いバージョンを削除することで(/ usr / binがパス変数で優先される)、何かが壊れるかどうかわかりません。

この競合を解決する適切な方法は何ですか?


9
gitはXcodeによってインストールされます。ただし、何かが壊れるかどうかはわかりません。あなたの靴では、後で元に戻す必要がある場合に備えて、名前を変更します。
スティーブンフィッシャー

ああ、それでは、新しいインストールの名前をgit2などに変更して、そのように使用するだけです。
クロメスタン

古いものを削除するのではなく、名前を変更することを意味しました。こうすることで問題が発生した場合、名前を変更することができます。
スティーブンフィッシャー

1
@StevenFisherあなたはそれを答えにするべきです。:)
イアンC.

OK。「わからない!」のない本当の答えが誰かにあることを望んでいました。初期化。:)
スティーブンフィッシャー

回答:


26

gitはXcodeによってインストールされます。交換しても問題があるとは思いませんが、それに対する明確な答えをお伝えすることはできません…

  1. 私は何だろうと、古い名前を変更である/usr/bin/gitためにgit_old、そして新しいものを選択するために、あなたのパスに依存しています。
  2. それがうまくいかないなら、新しいものをに動かしてください/usr/bin。Xcodeがどのバージョンのgitを使用しているのか気になりません。
  3. それでもうまくいかない場合は、新しいパスにgit_old戻り/usr/bin/git、直接パス、名前変更、またはエイリアスを使用します。

ただし、上記の#1を超える必要はありません。それで十分でしょう。

編集:元の投稿を逆読みします。最初にすべきことは、古いgitを含むディレクトリの前に、パスに新しいgitディレクトリが含まれていることを確認することです。


3つの選択肢:最初のものがうまく機能したことを確認します。
マリウスブトゥック

9

スペースが本当に限られている場合を除き、他のバージョンをハッキングする必要はありません。.bash_profileを編集し、PATH変数の/ usr / local / binが/ usr / binの前にあることを確認します

個人的には、定義されたツールパスとこれらから構築されたパスを持つスキームを採用することを好みます

GIT_HOME=/usr/local

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

これは、PATHを使用してツールを検索するものはすべてgitのバージョンを検出し、「本当に」必要な/ usr / binバージョンを持っているものはほとんどの場合そのパスをハードワイヤードし、それを見つけることができることを意味します


6

同じ問題がありました。XcodeバージョンであるGitの古いバージョンです。http://git-scm.com/からGitの新しいバージョンをインストールしてbash_profile

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

次に、bashをリロードして試してください git --version

私のために働いた:)


1

私のシステム(10.7.3、Xcode 4.3.2)では、Xcodeはにgitインストールされていません/usr/bin/git。Xcode 4のすべて(App Storeのすべてのアプリのように、)は.appバンドルに含まれています。具体的には、そのgitはにあり/Applications/Xcode.app/Contents/Developer/usr/bin/gitます。

私は常にgit(Xcode経由)を使用してい/usr/bin/gitますが、ここにはまったくありません。したがって、それはデフォルトのLionインストールの一部ではなく、少なくともその場所ではありません。

FWIW、Xcode.appバンドルのgitには以下が含まれて--versionいます:

gitバージョン1.7.7.5(Apple Git-26)

だから、あなた/usr/bin/gitはあなた自身のインストールであり、それを更新しても何も害はないと確信しています。

あるいは、Xcodeをインストールして(無料です!)、/Applications/Xcode.app/Contents/Developer/usr/bin/$ PATHに入れることもできますが、gitだけが必要な場合はやり過ぎです。


Xcodeも持っているので、現在インストールされているgitのバージョンは3つあります。
クロメスタン

1
持っていない場合は/usr/bin/git、おそらくXcodeの「コマンドラインツール」をインストールしていません。stackoverflow.com/q/9329243/152142
Justin M. Keyesを

1

Kenは、gitがXcode.appパスを介してのみ利用可能であったという点で正しいです。Mountain Lion(10.8)をインストールしたとき、突然/ usr / bin / gitにgitがあったので、私が知る限り、それはMountain Lionの追加でした...

しかし...以来、私はかなり多くのものをインストールしましたが、それが他のものの依存関係ではなかったとは完全にはわかりません。


0

私は本当に知りません、私はmomentのためにgitまたはXCodeをインストールしていないと思いますが、homebrewをインストールして実行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(mountain Lion)のコマンドラインツールをインストールしましたが、これがインストールしたのだと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.