Git:与根目录同名的文件夹被忽略。

3
假设有以下文件夹结构:
- myproj
  - components
    - server
      - src

现在我将所有源文件从src移动到一个名为根目录的子文件夹下,例如myproj(由于PATH原因)。树形结构现在看起来像这样:

- myproj
  - components
    - server
      - src
        - myproj

Git只显示了删除操作,但是没有展示在myproj子文件夹中新添加的文件。为什么?

更新:

我已经显式地对新目录执行了git add命令,并且它已经报告成功。

The following paths are ignored by one of your .gitignore files:
  components/server/src/<myproj>

显然,在项目的子文件夹中,一个“流氓”的.gitignore文件悄悄地加入了排除名单中,排除了名称 - 所以我以为它与根文件夹的名称有关 - 但实际上并不是。


你是否执行了 git add myproj/components/server/src/myproj 命令? - krlmlr
你的代码库中所有的 .gitignore 文件中都包含了哪些内容?.git/info/excludegit config core.excludesfile 有什么区别? - kan
1个回答

2
如果您使用 git mv,然后进行 git commit,它不会显示删除。
如果没有这样做,它会检测到删除和添加。
确保提交所有更改,而不仅仅是在移动后输入git commit myproj,否则状态仍会反映为删除,就像 "git mv不会删除旧文件" 中所示。
如果您只是将文件移动到新目录下,请注意 git status 只会显示新目录(而不是其中的所有文件)。
只有当您使用 git add myproj 时,才会在 git status 中看到其中的所有文件。

问题在于它根本不能检测到移动的文件! gitignore 是空的。 - user187676

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接