繁体   English   中英

使用Egit启动预提交挂钩

[英]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中运行。

我设置PATHC:\\cygwin64\\binsh.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM