Git 遠程倉庫默認權限問題的解決


多人共同開發維護一個項目時,對整個項目文件互有拉取、推送等行為。為防止操作時文件權限出現沖突,可有以下2種方法解決:

1. 本地git的遠端設置中,連接遠程倉庫時多人使用同一個用戶名,該用戶名為git遠程倉庫的擁有者

2. 不同開發者需使用不同的用戶名連接時,會出現文件權限沖突,這是因為 git 倉庫使用的是對象存儲,每次改動會新增若干對象文件(具體對象文件在 /.git/objects 下),而新增的對象文件權限屬性由系統控制,默認為755,即非文件擁有着無法進行寫入(推送)。這里需要將 git 倉庫下文件的默認權限設置為同組用戶均可讀寫執行。具體方法是:

在初始化倉庫時的語法:

git init --bare --shared[=(false|true|umask|group|all|world|everybody|0xxx)]

如果倉庫已經啟用,在遠程倉庫目錄下更改 git 配置的語法:

git config core.sharedRepository [(false|true|umask|group|all|world|everybody|0xxx)]

實踐:因本人需要設置該倉庫下所有新生成的對象文件的默認權限為770,即擁有者和同組用戶擁有讀寫執行權限,代碼如下:

git init --bare --shared=0770
//初始化倉庫時
git config core.sharedRepository 0770
//已啟用后配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM