netbeans是否忽略了我的git pre-commit钩子?

时间:2012-07-06 13:12:41

标签: git netbeans pre-commit-hook

我正在尝试使用git的预提交钩子。钩子如下所示:

#!/bin/bash
echo "fail"
exit 1

因此,它总会失败,即我的git提交失败。

如果我使用git添加内容然后在命令行中提交它我很快就会失败并且我的提交失败。

但是如果我使用netbeans,我的预提交挂钩就不会被执行。它似乎忽略了它。

我使用的是Ubuntu和Netbeans 7.1。预提交挂钩的权限是-rwxrwxrwx(为了测试目的,只需将其更改为777)。

这怎么可能?

1 个答案:

答案 0 :(得分:9)

看起来像那样。是。

如果查看NetBeans Git Integration Plan,您会注意到根本没有支持计划的挂钩。

除此之外,我不会依赖于Git的任何IDE集成,而是use the command line。如果您决定明天放弃NetBeans并使用Eclipse,该怎么办?还是VisualStudio?还是KDevelop?您将不得不学习一个新的IDE,并再次在IDE中集成Git。而且你必须希望IDE插件的开发者确实实现了你需要的那个Git子集。浪费时间。

此外,NetBeans中的Git实现还远未完成。名为 nice-to-have stashcherry-pickrebase)的功能非常实用。其他杀手功能甚至没有提及(git bisect任何人?)。

Take the command line。学习使用Git。节省您的时间。


编辑:查看NetBeans Git Integration Plan M2 ,可以看出Git的目标后端不是本机(即特定于平台)的实现但是jgit。这是一个完全脑死亡的方法。您将要开发的几乎所有平台都具有Git的本机实现。 JNI存在。为什么不采用平台特定的二进制文件(肯定比纯粹的从头开始的Java命令实现更好的测试),放一个小的JNI包装器,你就完成了?是的,你将失去一次性写入,但稳定性和代码质量会增长。