git push到遠程倉庫時出現Git Push Error: insufficient permission for adding an object to repository database
阿新 • • 發佈:2018-10-06
-a clas sudo mission 隱藏 文件夾 ng- l命令 文件和目錄
原因
其中一個原因是git遠程倉庫的目錄的擁有者不在同一個group裏,使得其他用戶在另一個用戶的子目錄中不能添加文件,因為兩者不在同一個組裏面,然後前者就相當於這個子目錄的“其他用戶”,而不是“同組用戶”,然後“其他用戶”又沒有寫的權限,所以就出現了這個問題(“擁有者”,“同組用戶“,”其他用戶”權限可通過ls -l命令查看,參考鏈接)。
解決方案
ssh to yourServer #進入git倉庫目錄 cd repository.git #為同組用戶添加寫權限,並且今後倉庫中的創建的子目錄、子文件的所屬組都繼承父目錄 #-R表示遞歸處理,g+ws中的s代表setgid,即新建的文件或目錄繼承父目錄的所屬組 # * 即通配符,代表當前文件夾的所有文件和目錄(除了隱藏文件和目錄, ls -al -R好像沒看到遠程倉庫有隱藏文件) sudo chmod -R g+ws * #更換成適當的用戶組 sudo chgrp -R myGroupName * git config core.sharedRepository true
參考鏈接:
- https://codeday.me/bug/20170516/16383.html
- https://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab
git push到遠程倉庫時出現Git Push Error: insufficient permission for adding an object to repository database