
我需要透過命令建立的文件git checkout
具有自訂權限。
即使core.sharedrepository=0777
設定 git 也會建立具有 0644 權限的工作樹檔案。但我希望它至少為 0664,以便該群組中的某人可以寫信給他們(指定自訂所有者群組也非常好)
遞歸地應用 chown/chmod 可能會起作用,但它聽起來像是最後的手段和資源浪費。
答案1
不要僅使用 git 來管理已安裝樹的檔案權限。
git 是單一用戶。它不追蹤足以保護多用戶系統的檔案所有權和權限。即使core.sharedrepository
一個使用者的簡單樹足以滿足您的用例,您也很難讓它執行您想要的操作。可能它仍然使用預設的umask
?
考慮一個真正的存檔格式,可以是軟體包系統,也可以是像 tar 這樣的通用檔案。在產生檔案的腳本中取得正確的權限。
或者,執行權限修復腳本也不錯。如果需要,請在更改權限之前檢查權限,以避免對檔案元資料進行不必要的更改。
不相關的考慮因素:如果要更新此樹,請注意 git 不會同步文件,它會合併歷史記錄。理解這些 git 部署規則了解為什麼腳本編寫git pull
可能是錯誤的。