我在Eclipse Mars(4.5.2)上使用EGit(4.1.1)在Windows8上工作。 我尝试使用GitForWindows在eclipse中启动预提交钩子。
我使用:#!/bin/sh
并为PATH
变量GITFORWINDOWS提供了存储我的GitForWindows安装的sh.exe的bin文件夹的路径(C:\ Program Files \ Git \ bin)。
如果我在GitBash中执行git commit
,则会正确执行预提交,因此如果在分阶段文件中检测到某个字符串,则会引发错误。如果我在Eclipse中提交没有任何反应。我做错了什么?
修改
我也和Cygwin一起尝试过。虽然它是从cygwin终端(以及GitInWindows终端)工作,但它不能在eclipse中工作。
我将PATH
设置为C:\cygwin64\bin
所在的sh.exe
。
换行是否有问题?到目前为止我有LF。
答案 0 :(得分:0)
要在Eclipse(Egit)中运行钩子,您需要执行以下操作:
钩子被实现为需要由“/ bin / sh”执行的脚本。
但是在普通的Windows机器上,你没有sh.exe
因此,您需要安装cygwin
并将<cygwin_root>/bin
添加到PATH
。
确保在cygwin安装期间还安装git(因为钩子脚本要执行git命令)。
答案 1 :(得分:0)
最后为Cygwin设置PATH
变量。我不得不重新启动计算机。
GitForWindows仍无效。这可能是因为JGit有一个FS_Win32_Cygwin
类,它从'PATH'变量中提取sh.exe
的路径。 GitForWindows(尚未)可能不存在这样的类。更多信息here。
我的EGit的版本(4.1.1)似乎没有发挥作用。