我有一个案例,我修改的文件不会显示为修改过的文件。
我还能提交该文件吗?
我可以将列为未更改文件的文件添加到已更改的文件中吗?谢谢!
更新: 当我尝试添加文件时,终端会出现这样的错误:
The following paths are ignored by one of your .gitignore files:
folderpath/filename.java
Use -f if you really want to add them.
fatal: no files added
但是当我打开 .gitignore 文件时:
bin
gen
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated GUI files
*R.java
# Mac OS file
.DS_Store
和信息/排除
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
我非常确定我的文件夹路径及其文件名不包含在.gitignore中并排除文件
答案 0 :(得分:2)
git不会跟踪未跟踪文件的更改。
所以首先要确保你的文件实际上是由git跟踪的。其他人详细记录了你的文件可能被侵入的原因(.gitignore
,.git/info/exclude
,......)
然后确保您的文件确实包含更改(似乎很明显)。 你对这个文件做了什么改变? 请注意,您可以配置git以忽略对EOL的更改,因此通过将CRLF更改为LF来修改文件不符合“要提交的更改”的条件。检查this。
答案 1 :(得分:1)
请检查:您修改的文件可能与存储库根目录中.gitignore
文件中的模式匹配。如果发生这种情况,则git
文件将超出范围。
答案 2 :(得分:1)
您发布的.gitignore
并未表明该文件被忽略,但工作副本上不仅存在.gitignore
来定义要忽略的文件。
请参阅this answer,了解与忽略事物相关的文件和环境的概述。
尽管如此,您从git获得的消息非常清楚:如果您不想查找文件被忽略的原因,Use -f if you really want to add them.
修改强>
如果您完全确定已经检查了所有.gitignore
,请仔细查看.gitignore
中的模式。例如,您的.gitignore
包含模式gen
。如果您在mygenerator/myfile.java
找到了已更改的文件,则gen
模式将与my
gen erator
匹配,并会忽略这些更改...
答案 3 :(得分:1)
我正在检查.gitignore
:https://github.com/github/gitignore/blob/master/Android.gitignore
我脑子里浮现出一种想法:你正在使用以下模式:
bin
gen
他们正在使用
# generated files
bin/
gen/
差异无关紧要 - /
但不是仅匹配文件夹,您的规则也可能与文件匹配。