【发布时间】:2016-04-22 11:27:25
【问题描述】:
我在 Windows8 上使用 EGit (4.1.1) 在 Eclipse Mars (4.5.2) 中工作。 我尝试使用 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。
【问题讨论】:
-
EGit 和 JGit 从 4.2 开始支持(一些)钩子。见这里:bugs.eclipse.org/bugs/show_bug.cgi?id=299315
-
在您提出的副本中,我没有找到解决问题的方法!它只提到 git 钩子现在在 EGit 中实现并且应该可以工作。
-
正如我在上面的评论中所说:EGit 4.1 还不支持钩子。如果您在答案中点击bug 299315 的链接,您会看到 EGit 4.2 对钩子有一些支持。但是您使用的是 EGit 4.1
标签: eclipse git egit githooks pre-commit-hook