我有一个名为"style.css"的文件,git没有检测到它.如果我删除它也不检测它,但它确实检测我是否更改了文件的名称.但我需要这个名字.该文件不在.gitignore文件中.这真让我抓狂!
我将不胜感激.
ken*_*orb 78
使用git check-ignore命令调试gitignore文件(排除文件).
例如:
$ git check-ignore -v config.php
.gitignore:2:src config.php
Run Code Online (Sandbox Code Playgroud)
以上输出详细说明了每个给定路径名(包括行)的匹配模式(如果有).
所以也许你的文件扩展名不会被忽略,而是整个目录.
返回的格式为:
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
Run Code Online (Sandbox Code Playgroud)
或使用以下命令打印您的.gitignorein user和repo文件夹:
cat ~/.gitignore $(git rev-parse --show-toplevel)/.gitignore $(git rev-parse --show-toplevel)/.git/info/exclude
Run Code Online (Sandbox Code Playgroud)
或者使用git add -f <path/file>允许添加否则忽略的文件.
请参阅:man gitignore,man git-check-ignore了解更多详情.
另一个说明,可能是一个罕见的情况,但我有这个问题.我将一些已经绑定到repo的文件从一个目录移动到另一个目录,复制/粘贴样式.
随之而来的是.git文件夹,它阻止了git检测文件夹.
所以我的文件夹结构是这样的,即使为原始项目1设置了repo,git也没有检测到文件夹2:
--Original Project 1
--.git
--Folder 1
--Folder 2
--.git
--Many other files/folders
Run Code Online (Sandbox Code Playgroud)
删除子.git文件夹解决了我的问题.
除了gitignore和其他地方检查忽略模式,检查你是否已经运行git update-index --assume-unchanged或git update-index --skip-worktree.如果是这样,请取消它们.
确保所关注文件的repo或parent中没有一些奇怪的东西,它有.git自己的.
尝试克隆你的repo,看看你是否在克隆版中看到了相同的内容.如果是这样,请尝试克隆到其他计算机/ VM并检查.这会让你知道哪里出了问题.