我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。

我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。

如何让Git忽略Hello.class?


当前回答

转到.gitignore文件并添加您想要忽略的文件的条目 执行命令git rm -r——cached。 现在运行git add。

其他回答

问题是.gitignore忽略了之前没有跟踪的文件(git add)。执行git reset name_of_file命令取消该文件并保留它。如果你也想从存储库中删除给定的文件(在推送之后),请使用git rm——cached name_of_file。

直接来自Atlassian: .gitignore

如果您希望忽略过去提交的文件,则需要从存储库中删除该文件,然后为其添加.gitignore规则。

在git rm中使用——cached选项意味着该文件将从存储库中删除,但它将作为一个被忽略的文件保留在工作目录中。

您的工作目录中仍然应该有该文件,但它将无法推送到远程存储库,除非您强制执行。

在使用.gitignore时,此网页可能有用并节省时间。

它会自动为不同的ide和操作系统生成.gitignore文件,其中包含您通常不想拉到Git存储库中的特定文件/文件夹(例如,特定于ide的文件夹和配置文件)。

您还可以使用.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

如果您已经提交了文件,并且试图通过添加到.gitignore文件来忽略它,Git将不会忽略它。为此,你首先要做以下事情:

git rm --cached FILENAME

如果你刚开始项目,你想添加一些文件到Git忽略,按照下面的步骤创建一个Git忽略文件:

导航到Git存储库。 输入“touch .gitignore”,这将创建一个。gitignore文件。