41

http://cygwin.com/packages/git/によると、入手可能な最新の Cygwin パッケージは 1.7.9-1 です。

git を少なくとも 1.8.0 に更新したいと思います。

私はこれを行うことができますか?

4

8 に答える 8

29

インストールするgit 1.8.0には、ソースコードをコンパイルする必要があります。

gitリポジトリのクローンを作成し(git clone https://github.com/git/git.git)、gitディレクトリに入り、現在のバージョンを1.8.0またはその他の必要なバージョンに変更し(git checkout v.1.8.0)、次のコマンドを入力する必要があります。

make configure
./configure --prefix=/usr/local
make
make install

/usr/localディレクトリの下にgitをインストールします。ドキュメントなどのgitインストールの詳細についてはINSTALL、gitリポジトリルートにローカライズされたファイルを参照してください。

于 2013-01-15T06:07:41.527 に答える
7

これらの指示に従って、 git 1.8.4.474 を正常にインストールしました。Windows 7 64 ビット、cygwin バージョン 1.7.22(0.268/5/3) を実行しています。

  1. Cygwin セットアップ ユーティリティを実行し、次のパッケージがインストールされていることを確認します。

    gcc
    autoconf
    curl
    libcurl-devel, required for http/https support 
                   (NOTE: this is an obsolete package, you will need to
                   uncheck "Hide obsolete packages" when selecting packages
                   to install)
    make
    libiconv
    python
    perl
    gettext
    

    libiconv-devel と cygwin32-liviconv が必要になる場合があります (Marek のコメントを参照)

  2. git clone https://github.com/git/git.gitで Git ソースのクローンを作成します。Git 構成に関するいくつかの注意事項:

    core.autocrlf=falseそうしないと、ビルドが壊れる原因となる DOS スタイルの行末になってしまいます。

    私はまた、厄介なhttp.sslcainfoプロパティ値を持っていました。設定を解除するか、または にポイントし/usr/ssl/certs/ca-bundle.crtます。

  3. 新しく複製した git リポジトリから、次のコマンドを実行します。

    make configure
    ./configure
    make
    make install
    
于 2013-10-13T08:08:50.397 に答える
3

あなたの指示は私にとって本当にうまくいきませんでした...

これらの指示に従いました(すべての正しいパッケージがインストールされていることを確認する限り)

http://randomartifacts.blogspot.com/2013/04/compiling-git-on-cygwin.html

Makefileを修正しました

$ git diff Makefile
diff --git a/Makefile b/Makefile
index 3588ca1..90f337c 100644
--- a/Makefile
+++ b/Makefile
@@ -407,7 +407,7 @@ RPMBUILD = rpmbuild
 TCL_PATH = tclsh
 TCLTK_PATH = wish
 XGETTEXT = xgettext
-MSGFMT = msgfmt
+MSGFMT = msgfmt.py
 PTHREAD_LIBS = -lpthread
 PTHREAD_CFLAGS =
 GCOV = gcov

それから

make configure NO_MSGFMT_EXTENDED_OPTIONS=1
./configure
make NO_MSGFMT_EXTENDED_OPTIONS=1
make install NO_MSGFMT_EXTENDED_OPTIONS=1

すべてのmakeコマンドにparamが必要かどうかはわかりませんが、これでうまくいきました

于 2013-09-04T01:33:31.790 に答える
2

「make install」を行うときに問題が発生しました。エラーメッセージは次のとおりです。

install -d -m 755 '/usr/local/bin'
git: 'installation' は git コマンドではありません。「git --help」を参照してください。
./install: 4行目: 通常: コマンドが見つかりません
./install: 5行目: will: コマンドが見つかりません
./install: 6行目: to: コマンドが見つかりません
./install: 8行目: $: コマンドが見つかりません
./ install: 11 行目: 予期しないトークン(または prefix=/usr/local) 付近で構文エラーが発生しました。他のプログラム スイートと同じように」 .'
./install: line 11:

これは、PATH に「./」がある場合、Windows OS の大文字と小文字が区別されないためです。Cygwin は、/usr/bin/install の代わりに git ソース ツリーの INSTALL ファイルを使用します。ソースツリー内のいくつかの「INSTALL」ファイルの名前を別のファイル名に変更する必要があります。これはhttp://zengrong.net/post/1817.htmで言及されています

于 2013-10-31T07:01:45.593 に答える
1

これを行うのに問題があり、デバッグに1時間かかりました。他の誰かがここに来て探している場合に備えて、回答を投稿しています。

実際はヨークワーと同じ原因ですが、別のエラーです。

make install出力されるまですべてがうまくいきます:

$ make install
    GEN perl/PM.stamp
    SUBDIR gitweb
    SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
    GEN git-instaweb
    BUILTIN all
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
    SUBDIR templates
install -d -m 755 '/usr/local/bin'
make: execvp: install: Permission denied
Makefile:2342: recipe for target 'install' failed
make: *** [install] Error 127

UAC、setuid、icacls、所有権などを何度もいじった後strace、実際の問題は実行時にあることinstall./わかりました。ビットが設定されていません。したがって、「許可が拒否されました」とは、このファイルに設定されていないという事実を指します。PATHINSTALLxx

@Yorkwar はすべてのINSTALLファイルの名前を変更することでこれを修正しましたが、別のオプションは編集Makefileして置き換えることです

INSTALL = install

INSTALL = /usr/bin/install

Windows 7 64ビットでcygwin 32ビットを使用しています(cygwin64が登場する前にインストールし、アップグレードする必要はありませんでした)。git version 2.0.0.rc4.dirtyの結果、正常にビルドおよびインストールされましたgit clone https://github.com/git/git.git

于 2014-05-21T23:56:22.383 に答える
0

ビルド済みのパッケージは提供されていないため、自分でビルドする必要があります。

または、 Cygwin 以外のビルドをダウンロードして、PATH.

于 2013-01-15T02:48:26.980 に答える