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

Linux不同账号同路径下git status结果不一致如何调整一致?

问题解决步骤

核心原因

super账号对~/dnmp/www/localhost/.git目录无读取/执行权限,git遍历当前目录找不到.git仓库时会向上层级查找,匹配到了上层~/dnmp/目录下的.git仓库,所以返回的是上层仓库的状态;root账号有权限读取当前目录的.git仓库,返回的是localhost下仓库的状态,这是两者返回结果差异的核心来源,super账号git pull失败也是.git目录权限不足导致的。

操作步骤

  • 步骤1:验证根目录差异
    分别在两个账号的~/dnmp/www/localhost路径下执行命令:
    git rev-parse --show-toplevel
    
    预期结果:super账号输出为/home/super/dnmp,root账号输出为/root/dnmp/www/localhost(如果两个账号访问的是同一路径则输出对应统一绝对路径),即可确认根因匹配。
  • 步骤2:修正目录权限
    切换为root账号执行以下命令,给super账号开放~/dnmp/www/localhost目录的对应权限:
    如果该目录仅归super使用,直接修改属主即可:
    chown -R super:super ~/dnmp/www/localhost
    
    如果需要多账号共用该目录,修改公共权限即可:
    chmod -R g+rw ~/dnmp/www/localhost
    find ~/dnmp/www/localhost -type d -exec chmod g+x {} \;
    
  • 步骤3:验证修复结果
    切换回super账号,重新进入~/dnmp/www/localhost路径,执行git status即可看到和root账号一致的返回结果,git pull操作也可正常执行。

内容的提问来源于stack exchange,提问作者敬錞 潘

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:06:02