答案 0 :(得分:46)
cygwinports有许多新版本的各种工具
当我写这篇文章时,它有1.8.3.4
新的简化安装说明:
- 使用最新的Cygwin安装程序(至少版本2.829):32位的setup-x86.exe或64位的setup-x86_64.exe。 (注意 许多软件包尚未移植到x86_64。)
使用-K标志启动setup - * .exe,例如:
cygstart - /path/to/setup-x86.exe -K http://cygwinports.org/ports.gpg
在“选择安装类型”页面上,选择“从Internet安装”。
- 在“选择下载站点”页面上,选择一个发行镜像,然后在“用户URL”字段中输入ftp://ftp.cygwinports.org/pub/cygwinports 然后按添加(确保两者都突出显示)。
- 或者,您可以使用源软件镜像,但如果这样做,则必须使用托管在与所选服务器不同的服务器上的镜像 发行镜。
- 继续选择和安装软件包,确保安装任何指示的依赖项。
答案 1 :(得分:28)
要安装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安装的更多信息,例如文档,您可以查看本地化在git repository root中的INSTALL
文件。
答案 2 :(得分:7)
我按照these instructions成功安装了git 1.8.4.474;我正在运行Windows 7 64位,cygwin版本1.7.22(0.268 / 5/3)
运行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的评论)
使用git clone https://github.com/git/git.git克隆Git源代码。关于Git配置的一些注意事项:
确保
core.autocrlf=false
,否则您最终会遇到导致构建中断的DOS样式行结尾。我还有一个棘手的
http.sslcainfo
属性值;要么取消设置,要么将其指向/usr/ssl/certs/ca-bundle.crt
。- 醇>
从新克隆的git repo中,运行以下命令:
make configure ./configure make make install
答案 3 :(得分: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,但这对我有用
答案 4 :(得分:2)
我在做“make install”时遇到了问题。错误消息是:
安装-d -m 755'/ usr / local / bin'
一样
git:'安装'不是git命令。见'git --help' ./install:第4行:通常:命令未找到
./install:第5行:将:命令未找到
./install:第6行:to:命令未找到
./install:第8行:$:命令未找到
./install:第11行:意外令牌.'
附近的语法错误(当然,前缀= / usr / local)。就像任何程序套件'
./install: line 11:
这是因为如果PATH中有“./”,则Windows操作系统不区分大小写。 Cygwin使用git源代码树中的INSTALL文件而不是/ usr / bin / install。我们必须将源树中的一些“INSTALL”文件重命名为其他文件名。 http://zengrong.net/post/1817.htm
提到了这一点答案 5 :(得分:1)
我有一个问题,这花了我一个小时来调试,所以我发布了一个答案,以防其他人来这里看。
实际上它与Yorkwar的原因相同,但错误不同。
在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
时:我已经./
了我的PATH
和Windows不区分大小写,它会尝试执行INSTALL
,这是一个没有设置x
位的文本文件。所以"权限被拒绝"指的是未在此文件上设置x
的事实。
@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
。
答案 6 :(得分:-1)
您可以从git-scm.com/download/win安装Windows平台的最新版本。
将以下内容添加到~/.profile
:
export PATH=$PATH:`cygpath 'C:\Program Files (x86)\Git\bin'`
我将来自SourceTree和cygwin
的git客户端与Gerrit / SSH服务器结合使用,并且还没有遇到任何问题。