在回答了previous question之後,我實現了一個Git鉤子腳本,只要更新工作目錄就需要啓動它。我掛這個腳本中的.git /掛鉤以下:結賬後更新工作目錄的任何操作的Git鉤子
- 後提交
- 後合併
這主要工作,但並非總是如此。我發現的一個案例是git stash
。這是一個問題,因爲我的鉤子生成一個文本文件,我也用git update-index --assume-unchanged
標記告訴Git,我不想檢查更改(檢入一個空的版本)。但是,git stash
將恢復假定不變的文件(到空文件),這意味着該鉤子需要再次運行,但該鉤子在git stash
之後不會被調用。
我懷疑類似的問題也可能存在git rebase
,但這並不容易解釋。
我想要一個鉤子,Git將總是更新工作目錄後運行。這可能嗎?
你試過一個['git update-index --skip-worktree'](http://stackoverflow.com/a/13631525/6309),看看這個文件是否也受git存儲的影響? – VonC
我對'--skip-worktree'不知道。現在我已經嘗試過了,它似乎做了我想要的。如果您將其添加到您的答案中,我會接受它。 –
答覆已更新。 – VonC