You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio使用Git更新变更报错unsafe repository配置无效

Android Studio Git 报unsafe repository 且配置safe.directory不生效解决

报错表现

fatal: unsafe repository ('/home/xxx/xxx' is owned by someone else)
终端可正常执行所有Git命令,仅Android Studio内更新代码、提交等Git操作触发上述报错,按提示执行git config --global --add safe.directory <项目路径>后问题依旧。

触发原因

Android Studio的运行用户、Git配置读取路径和你当前终端使用的用户环境不一致,导致你在终端加的全局safe规则没有被AS内置的Git客户端读取到。常见触发场景包括:用sudo/root权限启动AS、通过Flatpak/Snap沙箱版安装AS、配置safe.directory时使用了相对路径或未加引号导致配置失效。

解决步骤

  • 确认AS实际运行用户
    终端执行ps -ef | grep studio查看进程所属用户,如果和你当前终端登录的用户不一致,切换到对应用户下重新添加safe规则,命令如下(替换成实际的AS运行用户名和项目绝对路径):
    sudo su <AS运行用户名> -c "git config --global --add safe.directory /home/xxx/your/project/path"
    注意:路径必须写完整绝对路径,不能用~、./这类相对路径写法
  • 沙箱版AS(Flatpak/Snap安装)优先用项目本地配置
    沙箱环境无法正常读取宿主用户的全局Git配置,直接进入项目根目录执行命令,把规则写到项目本地Git配置中:
    git config --local --add safe.directory /home/xxx/your/project/path
    执行完可通过cat .git/config确认配置中已存在对应的safe.directory条目。
  • 单人本地开发机可直接配置全目录放开校验
    若上述操作后仍有问题,可执行通配符规则放开所有目录的安全校验(公共服务器/多人共用机器禁止使用该操作):
    git config --global --add safe.directory '*'
    注意:命令中的单引号不能省略,否则Shell会提前解析通配符导致配置失效
  • 修正AS启动方式
    检查AS启动图标绑定的命令,去掉开头的sudo,永远使用普通用户权限启动AS,避免后续出现Gradle、SDK目录的文件属主冲突问题。

内容的提问来源于stack exchange,提问作者pvn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:40:37