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

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

如何让Git忽略Hello.class?


当前回答

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

其他回答

如果您想忽略某些文件,请执行以下步骤

进入位于工作目录中的.git文件夹。 进入“info”文件夹。 您将找到一个名为“exclude”的文件。 将要忽略的文件名添加到该文件中。

如果你的目录中没有。git文件夹,在文件资源管理器视图面板中检查Hidden-item字段。

你应该这样写

*.class

到你的。gitignore文件。

来自GitHub官方网站:

如果您已经签入了一个文件,并且希望忽略它,那么如果您稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先取消跟踪文件,通过运行以下命令在您的终端:

git rm --cached FILENAME

or

git rm --cached .

直接来自Atlassian: .gitignore

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

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

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

在.gitignore文件中添加以下行:

/Hello.class

这将从Git中排除Hello.class。如果已经提交,则执行以下命令:

git rm Hello.class

如果你想从Git中排除所有类文件,在.gitignore中添加以下行:

*.class