3

我试图 git 添加一个文件。但是当我检查 git status 时,该文件仍被标记为“更改未暂存以进行提交”。我已经阅读了许多类似的问题,并且已经尝试了所有方法:

  • 确保我在正确的存储库中
  • 确保任何文件夹中没有其他 .git(没有子模块)
  • 确保 .gitignore 中没有相应的条目(无论是本地还是全局/系统)
  • 确保没有大写/小写错误
  • 确保尝试所有变体 git add (-A, -u, ., *)

似乎仍然没有任何效果

这就是它的样子:

在此处输入图像描述

有什么想法,还有什么可以尝试的或者我可能错过了什么?

提前感谢您的帮助!

编辑:

_build/我运行jb-build systemtechnik-fuer-energieeffizienz. 它包含(主要是,除了一些其他的东西,比如这些.doctree文档)由文件夹中所有这些 jupyter notebook 创建的 jupyter book 的 html 输出nb/(参见这里jupyter book)。所以它不是一个子模块(在我的理解子模块有一个自己的.git文件夹,但是,里面_build/没有这样的文件夹)

  • 的输出git rev-parse --show-toplevel是:

    C:/Users/andre/Documents/GitLab/OER4EE_SYE/systemtechnik-fuer-energieeffizienz

  • git versiongit version 2.24.0.windows.2

  • 的输出git diff -- _build/.doctree/SYE.doctree 是:

    只是一个空行

  • 的输出git check-attr -a _build/.doctree/SYE.doctree是:

    只是另一个空行

4

1 回答 1

2

_build/当我运行时,创建了整个文件夹jb-build systemtechnik-fuer-energieeffizienz

那么它应该被忽略:

cd C:/Users/andre/Documents/GitLab/OER4EE_SYE/systemtechnik-fuer-energieeffizienz
echo build/>>.gitignore
git rm --cached -r build/
git check-ignore -v -- build/.doctrees/SYE/doctree

假设doctree是一个文件,最后一个git check-ignore命令应该返回一个 .gitignore 规则,并且git status永远不应该显示它。

所以它不是一个子模块(在我的理解子模块有一个自己的.git文件夹,但是,在 _build/ 里面没有这样的文件夹)

子模块不会有 .git/ 子文件夹,但是:

  • 将在父存储库根文件夹中的 .gitmodules 文件中声明
  • 将在$GIT_DIR/modules/_build,意思是在主父 repo 自己的.git/modules文件夹下
于 2021-07-05T05:37:12.987 回答