3

我正在尝试提交应该通过所有测试以在我的 Rails 项目中成功实现自动化。问题是我git add --patch在提交之前使用了很多,我希望我的测试只在分阶段的更改上运行。

解决方案 1:git stash --keep-index在 pre-commit 上 做一个或git stash在 post commit 上做一个简单的操作,然后是钩子 ( rake tests) 和git stash pop. 这意味着我必须等待它完成,并且在它运行时,我将无法访问我未暂存的更改。

解决方案 2:我设置了一个新的本地 repo(测试人员)并从第一个 repo(开发)设置了 post-commit 挂钩以推送到测试人员 repo。测试者 repo 应该有一个 post-receive 挂钩来运行测试并通知我(通过电子邮件或 whateva)在我推送之前它是通过还是未能修复提交。

第二种解决方案听起来要好得多(我猜),即使由于文件被忽略,存储库会有所不同。

您还有其他解决方案要提出吗?

4

2 回答 2

1

查看 git-new-workdir(您可以在 git 存储库 contrib/workdir 中找到它)。它会创建一个新的工作目录,您可以使用它来运行测试。

于 2011-08-29T09:46:14.637 回答
0

我终于求助于解决方案 2,然后演变成一个迷你连续测试系统。

于 2011-08-29T09:03:55.123 回答