我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
当前回答
在.gitignore文件中添加以下行:
/Hello.class
这将从Git中排除Hello.class。如果已经提交,则执行以下命令:
git rm Hello.class
如果你想从Git中排除所有类文件,在.gitignore中添加以下行:
*.class
其他回答
转到.gitignore文件并添加您想要忽略的文件的条目 执行命令git rm -r——cached。 现在运行git add。
您可以使用下面的方法来忽略/不忽略跟踪文件中的更改。
对于忽略:git update-index——assume-unchanged <file> 用于恢复被忽略的文件:git update-index——no-assume-unchanged <file>
问题是.gitignore忽略了之前没有跟踪的文件(git add)。执行git reset name_of_file命令取消该文件并保留它。如果你也想从存储库中删除给定的文件(在推送之后),请使用git rm——cached name_of_file。
您还可以使用.gitattributes(而不是.gitignore)来排除整个文件类型。该文件是不言自明的,但我将内容粘贴在这里以供参考。注意最后一行(*.class二进制):
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary
如果你想忽略一个已经签入的文件,你必须在添加一个规则来忽略它之前取消跟踪该文件:
git rm --cached FILENAME
现在提交更改并将文件路径添加到.gitignore文件。