繁体   English   中英

git:子目录中的更改被忽略

[英]git: changes ignored in sub-directory

我的 repo 中有一个子目录停止跟踪更改。 我可以将 abc.php 文件添加到某个级别以上的任何目录,并且git status返回预期结果,但是一旦我将 abc.php 添加到相关子目录(或更改现有文件), git status就会变为空。 我相信子目录曾经拥有自己的 git repo,但我可能是错的。

我看到git update-index --really-refresh 可能是一个选项,但我很担心,因为我将其他 git 项目添加到了有问题的“兄弟”目录中。 (我没有在我的父仓库中做任何事情来承认这些,所以希望这也没关系。)

也就是说,我有

  1. ...dir/custom(忽略更改的目录)
  2. ...dir/sibling1(同级目录 1 与自己的 git repo)
  3. ...dir/sibling2(同级目录 2 与自己的 git repo)

dir 及以上的每个父目录都没有问题并且按预期工作。

我的主要问题是:鉴于上述结构,我应该担心运行它吗? 我还想问一下,我应该对主 repo 中的 repos 做些什么(即以某种方式将它们声明为子模块)?

谢谢。

好吧,我需要运行以下两个命令才能使其正常工作:

git rm --cached path_to_subdir (no trailing slash)

git add path_to_subdir/*

根据我在原始帖子 ( git update-index --really-refresh ) 中尝试运行命令时看到的消息, git update-index --really-refresh曾经有一个 git repo 未正确删除,并且从未被删除声明为子模块。

2 种可能性:

  • 目录本身被忽略(在任何父目录的.gitignore文件中)
  • 或者在被忽略的目录中有一个 .git 目录,使其成为一个嵌套的 git 仓库(父仓库将忽略其状态)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM