macOSでGitを最新バージョンにアップグレードするにはどうすればよいですか?


165

OS X Lionを搭載した新しいMacを購入したばかりで、ターミナルにデフォルトでインストールされているgitのバージョンを確認しました。答えを得た

git --version
> git version 1.7.5.4

gitを最新バージョン1.7.8.3にアップグレードしたいので、dmgインストーラー「git-1.7.8.3-intel-universal-snow-leopard.dmg」をダウンロードして起動しました。

インストール後も、ターミナルにはバージョンが1.7.5.4であると表示されます。何が悪いのですか?


4
入力which gitして、バイナリの場所を確認します。新しい場所と同じ場所ですか?
Greg Hewgill、2012年

4
/usr/bin/git1.7.5.4について書かれていますが、DMGが新しいバージョンをインストールした場所を知るにはどうすればよいですか?以前のバージョンを自動的にアップグレード/上書きしないのはなぜですか?git新しいバージョンを使用したい場合、コマンドを新しいバージョンにリンクするにはどうすればよいですか?(ところであなたの本当に速い答えに感謝します!)
Nicolas Renon '22

1
私のMac(OS 10.6.8)では、古いgit 1.7.5.4は/ usr / bin / gitにありますが、新しいgitインストーラ1.7.11.3はgitを/ usr / local /に
置きます

superuser.com/a/580611/74576が良いアプローチかどうか疑問に思います。私はそれのためのコマンドを理解できればいいのに。
ライアン

.bashrcの代わりに.bash_profileにエントリを作成しましたが、機能しました。あなたの端末が「デフォルトのログインシェル」として実行されていると、それが起こると思います。
Swapnil Chincholkar、2015年

回答:


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にインストールされます。
bananaaus 2012年

18
kmikaelの便利なヒントは、bashだけです。(変更のMACデフォルトのシェルのロックを解除するためにアカウントまたは「詳細オプション」のシステムのprefsで「ユーザーとグループ」ウィンドウ、コントロールクリックアカウント。)の代わりに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/git10.8.4上のはずが、まだ仕事、上記の方法を意味し、。
kmikael 2013年

@mikerに感謝します。.bash_profileでは機能しましたが、.bashrcでは機能しませんでした。
adimauro 14年

うまくいくとしても、私はこのソリューションのチェックを外しました。説明については、私のメッセージの更新を読んでください。
Nicolas Renon 2014年

52

Homebrewを既に持っている場合は簡単です。homebrewがインストールされていると想定して、次のように入力します。

brew install git

インストールしたら、次の2行を入力します。これにより、Appleのパスではなくローカルのgit distroへのパスが設定されます。

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:名前の変更、システムGitはなりませんMacOSのエルキャピタンの仕事と後で無効にシステムの完全性保護しない限り、ここで説明するようapple.stackexchange.com/a/248229/16290が。個人的に私は私の前に来るPATHように自分を更新します。そうすることで、Homebrewのgitが常に優先されます(ターミナルを閉じて再度開いた後)。gitのセキュリティの脆弱性については、Appleは最終的にバンドルされたgitをセキュリティアップデートで更新します。それまでは、説明に従ってPATHを構成することで、組み込みのgitの使用を回避できます。/usr/local/bin/usr/bin
ネイト・クック

16

Googleで「Macでのgitのアップグレードの問題」を検索した後、いくつかの投稿を読んで次のことを試みた後、ステップ4を実行して問題を解決しました。

  1. 上記のexportコマンドを使用して端末パスを更新しました。端末を終了して再起動するたびに、端末を入力git --versionすると、古いバージョン1.8が返されます。

  2. README.txtの指示に従って、.dmgインストーラーに付属している現在のバージョン2.0.1にアップグレードしましたが、ターミナルを再起動してもまだ動作しません。

  3. 上記のように/ etc / path /フォルダーを探しましたが、「path」というディレクトリがMacに存在しません。OS X Mavericksバージョン10.9.4を実行しています。

  4. 次に、MacにHomebrewをインストールし、次のコマンドを実行したことを思い出しました。

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

これでようやく私の問題が解決しました。これがなぜ機能したのかについて誰かが何らかの洞察を持っている場合は、さらなる洞察をいただければ幸いです。おそらく、昨年システムでRubyを使用していないためにパス設定が残っている可能性があります。


1
私はすでにgitをインストールしていました。したがって、最後の手順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
Nicolas Renon、2012年

1
注:新しいgitを表示するには、ターミナルを再起動する必要がありました。明らかなようですが、最初は混乱しました。
migg 2013

15

自作を使用している場合は、次を使用してsimリンクを更新できます

brew link --overwrite git

私はこの上にある他のすべての答えを試しましたが、これが最終的に最新バージョンのgitを設定したものです。実行brew install gitすると最新バージョンが表示されましたが、シンボリックリンクが正しく設定されませんでした。実行brew link gitすると、gitが既に存在するためgitをsymlinkできないというエラーが表示されました。最後に実行するとbrew link --overwrite git、釘が棺桶に入れられgit --versionます。これで、gitの最新バージョンであることを示しています
Gharbad The Weak

7

gitホームページのインストーラーは/usr/local/gitデフォルトでにインストールされます。ただし、XCode4をインストールすると、gitバージョンがにインストールされ/usr/binます。ウェブサイトから簡単にアップグレードして最新のgitバージョンを使用できるようにするには、プロファイル情報を編集して$ PATHの/usr/local/git/bin/usr/binに配置するか、編集して最初のエントリとして挿入します。/etc/paths/usr/local/git/bin

これは、/ etc / pathsでの順序を少なくとも変更する人に役立つかもしれません。



6

Macで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

私の場合、すでにgitがインストールされていて、新しいバージョンをダウンロードしたhomebrewを使用して再度インストールしましたが、正しくリンクされていませんでした。手動でリンクを解除してから再リンクする必要がありましたが、うまくいきました。私はまた、それが代わりに古い/システムのバージョンの新しいバージョンを見つけるだろうように、私の端末セッションを再開するために必要な: brew unlink git && brew link git && source ~/.bashrc
FireDragon

5

これまでに見つけた最も簡単な方法は、gitの公式Webサイトからです。依存関係を計算し、必要なライブラリ/ツールをすべてダウンロードした

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

他の主な方法は、MacPorts( http://www.macports.org)です。MacPortsがインストールされている場合は、Gitをインストールします

$ sudo port install git-core + svn + doc + bash_completion + gitweb


2

両方のバージョンを維持するために、新しいバージョンのgitパス "/ usr / local / git / bin /"を最初に置くことによってPATH環境変数の値を変更しただけで、最新バージョンを使用するよう強制されます。

$エコー$ PATH

/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ opt / X11 / bin:/ usr / local / git / bin /

$ git --version

gitバージョン2.4.9(Apple Git-60)

元の値: / usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ opt / X11 / bin:/ usr / local / git / bin /

新しい値: / usr / local / git / bin /:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ opt / X11 / bin

$エクスポートPATH = / usr / local / git / bin /:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ opt / X11 / bin

$ git --version

gitバージョン2.13.0


1

自作なし

  1. gitのWebサイトからインストーラーを使用ます。
  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

私はパス階層を変更しない方が好きですが、代わりに具体的にgitを扱います。古いgitを使用して新しいgitが管理することを実行することは決してないことを知っています。これはブルートフォースソリューションです。

注:ヨセミテ(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. MacにインストールされているGitHubアプリケーションを開く
  2. 詳細設定タブをクリック→コマンドラインツールをインストール
  3. すべてのコマンドがインストールされたというメッセージが表示されたら、ターミナルを閉じて、再度開きます。
  4. を確認git --versionしてください。最新バージョンが表示されます。

0

シェルパスを調整する必要があります。パスは、ホームディレクトリの.bashrcまたは.bash_profileに設定されます。

したがって、以下のようなパスに追加し、パスに既にあるものを保持します。各セグメントはコロンで区切られます。

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


0

最新バージョンはgit-scm.comでMacのバイナリとして利用できなかったため、ソースからインストールしました。ローカリゼーションに必要なパッケージが見つからなかったため、ローカリゼーション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変数の先頭に追加する必要がありました。

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