如何提交和/或添加未更改的文件?

时间:2012-08-03 06:49:19

标签: git github git-commit git-add

我有一个案例,我修改的文件不会显示为修改过的文件。

我还能提交该文件吗?

我可以将列为未更改文件的文件添加到已更改的文件中吗?谢谢!

更新: 当我尝试添加文件时,终端会出现这样的错误:

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中并排除文件

4 个答案:

答案 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)

我正在检查.gitignorehttps://github.com/github/gitignore/blob/master/Android.gitignore

的初始来源

我脑子里浮现出一种想法:你正在使用以下模式:

bin
gen

他们正在使用

# generated files
bin/
gen/

差异无关紧要 - /但不是仅匹配文件夹,您的规则也可能与文件匹配。