Git:--git-dir 显示所有文件丢失

我有两个非常相似的拥有相同子模块的仓库。 目录结构:

vss
vss/rcv-nginx
rgw
rgw/rcv-nginx

当从 'rgw' 目录(仅它!)请求状态时,它显示所有文件都已删除。对于其他类似的项目,这种情况不会发生。

以下是 git status 命令:

# 在 vss 上
peter@peterpc:~/git/vss$ git --git-dir=rcv-nginx/.git status
在分支 dev 上
您的分支与 'origin/dev' 一致。
无文件要提交,工作树干净

# 在 vss/rcv-nginx 上
peter@peterpc:~/git/vss$ cd rcv-nginx/
peter@peterpc:~/git/vss/rcv-nginx$ git status
在分支 dev 上
您的分支与 'origin/dev' 一致。
无文件要提交,工作树干净

# 在 rgw 上
peter@peterpc:~/git/rgw$ git --git-dir=rcv-nginx/.git status
在分支 feature-rcv-11870_openresty-nginx 上
您的分支与 'origin/feature-rcv-11870_openresty-nginx' 一致。
变更未加入提交(使用 “git add / rm <文件> ...” 来更新
将要提交的内容)
(使用 “git checkout -- <文件> ...” 丢弃工作区中的变更)

        modified:   .gitlab/merge_request_templates/Bug.md
        modified:   .gitlab/merge_request_templates/Feature.md
        deleted:    .idea/runConfigurations/Render_Dyrka_Configs.xml
        ...
        (所有标记为丢失的文件)

# 在 rgw/rcv-nginx 上
peter@peterpc:~/git/rgw$ cd rcv-nginx/
peter@peterpc:~/git/rgw/rcv-nginx$ git status
在分支 feature-rcv-11870_openresty-nginx 上
您的分支与 'origin/feature-rcv-11870_openresty-nginx' 一致。
无文件要提交,工作树干净

P.S.

我查看了这个问题(git --git-dir not working as expected),我知道解决方法,但问题仍然存在--为什么 Git 对于类似的项目的行为不同呢?

点赞
用户7833865
用户7833865

也许是由于目录中之前仅有 rcv-nginx 是符号链接,后来我将其更改为独立文件夹,但是 Git 缓存仍然存在的原因。

2018-11-13 15:33:31