2011-07-29 22 views
1

我正在嘗試執行commit我的rails項目中應通過所有測試才能成功執行自動化。 問題是我在提交之前使用git add --patch相當多,我希望我的測試只能在階段性更改上運行。如何讓git無視post/pre-commit鉤子上的未執行更改

解決方案1: 上做一個git stash --keep-index預提交或在柱的簡單git stash提交,接着所述鉤(rake tests)和git stash pop。 這意味着我必須等待它完成,並且在運行時,我將無法訪問未分離的更改。

解決方案2:從第一回購(發展)我建立一個新的本地回購(測試儀)和設置的post-commit鉤子推到測試器回購。測試人員回購應該有一個post-receive hook來運行測試,並在我推送前通知我(通過電子郵件或whateva)是否通過或未能修復提交。

第二個解決方案聽起來好多了(我猜),即使由於忽略的文件而在回購上會有差異。

您是否有另一種解決方案?

+0

與我類似的問題。我更喜歡Sol。 1(儘管速度不允許),但未跟蹤文件存在問題。如果我添加一個新類並使用它但不提交它,那麼測試將與它一起運行,但提交將失敗。 Git支持存儲 - 包括未跟蹤,但沒有在1.7.4.1版本,我有。 – Unapiedra

回答

0

我終於使出在溶液2然後演變成一個小型連續測試系統。

1

看看git-new-workdir(你可以在git repository contrib/workdir中找到它)。它會創建一個可用於運行測試的新工作目錄。