4
在Git中,您可以使用644或755權限檢入文件。我想強制所有.sh文件將始終存儲爲755個權限,以便它們可以立即執行。特別是在Windows環境中,意外丟失權限很容易。Git:強制執行shell腳本執行權限
那麼,有沒有一種方法來配置它,最好像文件處理配置.gitattributes?它可能可以用鉤子完成,但有沒有更乾淨的做法呢?
在Git中,您可以使用644或755權限檢入文件。我想強制所有.sh文件將始終存儲爲755個權限,以便它們可以立即執行。特別是在Windows環境中,意外丟失權限很容易。Git:強制執行shell腳本執行權限
那麼,有沒有一種方法來配置它,最好像文件處理配置.gitattributes?它可能可以用鉤子完成,但有沒有更乾淨的做法呢?
這可能是使用.gitattributes
filter。
一下添加到.gitattributes
:
*.sh filter=permissions
這添加到.git/config
:您可以通過以下配置獲得一部分的方式有
[filter "permissions"]
clean = chmod 755 %f
只要你git add
一個.sh
文件,乾淨的過濾器將被應用並且其權限將被改變。不幸的是,權限更改不會被添加到索引中,所以這個解決方案顯然是不完整的。
我是否正確理解過濾器將是反正的東西,必須在本地完成,而不是我們可以存儲在版本控制中的任何東西,因此它將適用於使用回購的任何人? – eis
你說得對,我沒有想到:你可以將'.gitattributes'文件添加到回購站,但除非其他用戶在其配置中定義了權限過濾器,否則它不會執行任何操作。 – georgebrock