Git 如何提交和/或添加未更改的文件?
我有一种情况,我修改的文件不会显示为修改后的文件 我还能提交那个文件吗 我可以将列为未更改文件的文件添加到已更改文件中吗?谢谢 更新: 当我尝试添加文件时,终端会出现以下错误:Git 如何提交和/或添加未更改的文件?,git,github,git-commit,git-add,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 但当我打开.git
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和exclude文件中请检查:您修改的文件可能与存储库根目录中的.gitignore文件中的模式匹配。如果发生这种情况,文件将“超出”您发布的
的范围。gitignore并不表示该文件被忽略,但工作副本上不仅存在定义要忽略的文件的.gitignore
有关与忽略内容相关的文件和环境的概述,请参阅
尽管如此,您从git得到的信息非常清楚:如果您不想找到文件被忽略的原因,如果您确实想添加它们,请使用-f。
编辑:
如果您完全确定已检查了所有
.gitignore
s,请仔细查看.gitignore
中的模式。例如,您的.gitignore
包含模式gen
。如果在mygenerator/myfile.java
中找到更改的文件,则gen
模式将匹配my
gen操作器,并将忽略更改…git不会跟踪未跟踪文件中的更改
因此,首先确保您的文件实际上是由git跟踪的。其他人详细阐述了文件可能被导入的原因(.gitignore
,.git/info/exclude
,…)
然后确保您的文件确实包含更改(看起来很明显)。
您对文件做了什么样的更改?
注意,您可以将git配置为忽略对EOL的更改,因此通过将CRLF更改为LF来修改文件不符合“要提交的更改”的条件。检查。我正在检查您的
的初始源代码。gitignore
:
我脑海中突然闪现出一个想法:你正在使用以下模式:
bin
gen
当他们使用
# generated files
bin/
gen/
差别是微不足道的,
/
,但您的规则可能不仅匹配文件夹,还匹配文件 但如果该文件位于哪个文件夹中?可能由于文件夹限制而被忽略了?请您提供文件和文件夹的全名,以便我们更清楚地了解问题?我相信这不是什么大秘密?谢谢你的评论,但当我试图修改那个文件夹中的其他文件时,git可以检测到我修改过的文件被修改了。听起来很奇怪,对吧?是的。。。但是这一行怎么样呢?*R.java
也许您的文件名与之匹配?如果你在Windows上,它可能会忽略大小写并。。。分数我建议逐个禁用.gitignore
中的语句,运行git status
并查看发生了什么。这是“猴子的方法”,但比猜测更有效。R.java是Eclipse自动生成的文件..从.gitignore内容看,我的文件不包括..我想我会按照eckes的建议使用-f添加文件..你也检查了.git/info/exclude
吗?请查看我编辑的帖子。。我在那个文件中添加了一些代码行,不是简单的字符或EOL..嗨,埃克斯..我在另一篇文章中尝试了你的答案:-添加了文件夹-我的文件不在.gitignore和exclude列表中-当我尝试键入git config--global core.excludesfile时,终端不会打印任何东西…-git状态--忽略显示我要提交的所有更改列表(听起来很奇怪吧?)是的,该文件的文件夹不在bin/gen:)谢谢您的解释!我从来不知道这样的规则。。不,我的文件夹路径名不包含gen或BIN。请发布完整路径和完整文件名好吗?这将帮助我们解决问题!嗨,埃克斯..很抱歉,我无法显示完整路径,因为它是凭证:(@Rendy,你能显示文件名吗?因为很难搜索答案-我们需要知道它与哪个模式匹配。嗨,alexey,谢谢你的帮助,但我无法显示它的路径,因为它是凭证:(好的,但是你确定在文件名中找不到bin
和gen
块吗?我打赌是的!完全同意你的编辑!我相信,后面的斜杠是问题的根源。