2017-08-28 171 views
1

如果代碼符合某些條件,是否可以設置IDEA以防止被提交的索引,例如包含一些特殊註釋,如//failcommitIntelliJ IDEA VCS規則失敗提交

如果在修改後的文件中有//todo//fixme註釋,IDEA會提醒您。我想配置類似的東西,而不是警告它應該阻止提交操作。

+0

不是我所知道的。您可以使用CI技術和分支來實現大致相同的事情。 –

回答

3

如何讓git做提交檢查和失敗,而不是intellij?那麼,你使用的是什麼IDE並不重要。如果這是可以接受的,那麼你可以設置一個git pre-commit鉤子,如果找到了目標註釋,就會失敗。

GIT中鉤文檔:https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

例pre-commit鉤子如果 'FIXME' 被任何地方發現失敗:https://gist.github.com/kuy/5d1151fd5897a9b84c06

+0

聽起來合理。將嘗試這樣做。你知道IDEA如何處理這些鉤子嗎? –

+1

IDEA發出一個git命令,並且默認情況下git會自動運行掛鉤(除非您在IDEA中明確禁用「運行GIt掛鉤」選項)。大多數掛鉤應該工作,除非他們操作索引。 –

2

,我們在沒有IDEA設置來進行配置。您可以開發自己的CheckinHandler來執行此操作,並將其添加到Before commit部分。

問題是爲什麼你需要這個?爲什麼允許您取消提交的警告不是一種選擇?你可以爲TODO配置一個自定義模式。

使用git掛鉤是另一種選擇。

順便說一句,IDEA不提交索引。它承諾個人文件,使用git commit --only

+0

回答你的問題'爲什麼你需要這個?'很可能是因爲我們有atm的錯誤方法。 「TODO」和「FIXME」評論通常用於標記債務,因此應該在稍後承諾和處理。因此跳過警告對話成爲一種習慣(壞習慣)。但是爲了解決阻塞問題(一兩天,直到有人在後端修復它),我們必須做一些非常骯髒的黑客攻擊,不應該以任何方式承諾。當我想標記該黑客以防止提交時,就是這種情況。 –

+0

然後我會用git鉤子去 –