我有一个存储库文件,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文件。