如何让git忽略post / pre-commit钩子上的非分段更改

时间:2011-07-29 09:05:17

标签: git testing githooks

我正在尝试执行提交应该在rails项目中通过所有测试以成功自动化。 问题是我在提交之前使用git add --patch并且我希望我的测试只能在分阶段的更改上运行。

解决方案1: 在预提交上执行git stash --keep-index或在提交后执行简单git stash,然后执行钩子(rake tests)和git stash pop。 这意味着我将不得不等待它完成,当它运行时,我将无法访问我的未分级更改。

解决方案2:我设置了一个新的本地仓库(测试人员)并设置了第一个仓库(开发)的post-commit钩子以推送到测试人员仓库。测试器仓库应该有一个后接收挂钩来运行测试,并通知我(通过电子邮件或whateva)我是否通过或无法修复提交。

第二种解决方案听起来好多了(我猜),即使由于被忽略的文件而存在回购差异。

您是否有其他建议解决方案?

2 个答案:

答案 0 :(得分:1)

看一下git-new-workdir(你可以在git repository contrib / workdir中找到它)。它创建了一个可用于运行测试的新工作目录。

答案 1 :(得分:0)

我终于使用 Solution 2 ,然后演变成迷你连续测试系统。