[英]Use Egit to launch pre-commit hook
我正在Windows 8上使用EGit(4.1.1)在Eclipse Mars(4.5.2)中工作。 我尝试使用GitForWindows从eclipse中启动一个预提交钩子。
我使用以下命令启动了预提交文件: #!/bin/sh
并为PATH
变量GITFORWINDOWS提供了bin文件夹的路径,该文件夹用于存储GitForWindows安装的sh.exe(C:\\ Program Files \\ Git \\ bin)。
如果我在GitBash中执行git commit
,则正确执行pre-commit,因此如果在暂存文件中检测到某个字符串,则会引发错误。 如果我在Eclipse中提交,则什么也不会发生。 我究竟做错了什么?
编辑
我也尝试过Cygwin。 在cygwin终端(以及GitInWindows终端)中运行时,它不在eclipse中运行。
我设置PATH
到C:\\cygwin64\\bin
在sh.exe
是。
线路退回会是一个问题吗? 到目前为止,我有LF。
要在Eclipse(Egit)中运行with的钩子,您需要执行以下操作:
挂钩被实现为脚本,需要由“ / bin / sh”执行。
但是在普通的Windows机器上,您没有sh.exe
。
因此,您需要安装cygwin
并将<cygwin_root>/bin
添加到PATH
。
确保在cygwin安装期间还安装了git(因为钩子脚本要执行git命令)。
最后为Cygwin设置PATH
变量起作用。 我不得不重启计算机。
它仍然不适用于GitForWindows。 这可能是由于JGit具有一个FS_Win32_Cygwin
类, sh.exe
从'PATH'变量中提取了sh.exe
的路径。 对于GitForWindows,这样的类可能还不存在。 更多信息在这里 。
我的EGit的版本(4.1.1)似乎没有作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.