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

Git可疑所有权错误:安卓Termux非root环境下永久解决方法

解决Termux非Root环境下Git全局可疑所有权错误的永久方案

问题背景

在非Root的小米Redmi 10 Termux环境中,操作内部存储(/storage/emulated/0)下的Git仓库时,出现错误:

fatal: detected dubious ownership in repository at '/storage/emulated/0/dev/git/C9-hp/test-/test'

此前通过git config --global --add safe.directory逐个添加仓库的方式仅为临时解决,需要一次性覆盖未来所有仓库的永久方案。

方案1:全局配置递归安全目录(无需迁移仓库)

针对内部存储路径,通过Git全局配置递归匹配所有子目录下的仓库,一次性豁免所有权检查:

git config --global --add safe.directory "/storage/emulated/0/**"
  • 原理:Termux通过FUSE挂载内部存储,该路径下文件的所有权属于Android系统用户,而非Termux当前用户,触发Git的安全检查。**通配符会递归匹配/storage/emulated/0下所有层级的Git仓库,无需逐个添加。
  • 注意:此方案在个人使用场景下安全风险极低,若需更严格的权限控制,可将通配符替换为更具体的路径(如/storage/emulated/0/dev/git/**)。

方案2:将仓库迁移至Termux私有存储(根源解决)

Termux的私有存储目录(/data/data/com.termux/files/home,即~)下的文件所有权属于Termux用户,完全符合Git的安全检查要求:

  1. 创建Termux内的Git工作目录:
mkdir -p ~/dev/git
  1. 迁移现有仓库到该目录:
cp -r /storage/emulated/0/dev/git/C9-hp/test-/test ~/dev/git/
  1. 后续所有新仓库直接在~/dev/git下创建或克隆即可,不会再触发所有权错误。
  • 优点:完全遵循Git安全模型,无权限相关风险;缺点:需要迁移现有仓库,后续仓库需统一放在私有目录下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 16:09:58