1. 程式人生 > >git push到遠程倉庫時出現Git Push Error: insufficient permission for adding an object to repository database

git push到遠程倉庫時出現Git Push Error: insufficient permission for adding an object to repository database

-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