1、添加safe.directory
关闭所有与safe.directory系统相关的警告。
git config --global --add safe.directory '*'
该命令会在全局的.gitconfig文件中添加如下配置:
[safe]
directory = *
Windows的终端中如执行失败,则可以尝试:
git config --global --add safe.directory "*"
2、修改项目文件的用户
chown -R <current_user> <repo_folder>
3、修改Windows目录的权限
takeown /F <dir/*> /R
说明:
/F
参数为文件,带*通配符将适用于所有文件和文件夹;
/R
参数表示递归,它将当前登录用户的所有者应用于所有文件和子文件夹
<dir/*>
是要拥有所有权的目录。
4、当前用户非git用户
确保使用的是正确的终端用户。可能使用 root 用户会引起问题。更改回git用户,su git-user
就没有问题。
5、修改目录权限
修改目录权限,执行下面命令:
sudo chown -v "$( id -u; ):$( id -g; )" .;
sudo chown -v "$( id -u; ):$( id -g; )" -R .git;
find '.git' -type d -exec chmod -v 775 {} \;;
find '.git/objects' -type f -exec chmod -v 444 {} \;;
find '.git/hooks' -mindepth 1 -maxdepth 1 -type f -exec chmod -v 775 {} \;;
find '.git' -type f ! -path '.git/objects/*' ! -path '.git/hooks/*' -exec chmod -v 664 {} \;;