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

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

如何让Git忽略Hello.class?


当前回答

我有类似的问题与文件“dump.rdb”。 我尝试以各种方式将该文件添加到.gitignore文件中,但只有一种方式有效。

在.gitignore文件的末尾添加您的文件名

注意:在其他任何地方添加文件都不起作用。

例如:https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore

其他回答

如何忽略新文件

在全球范围内

将你想忽略的路径添加到你的.gitignore文件中(并提交它们)。这些文件条目也将应用于其他签出存储库的文件。

在本地

将你想忽略的路径添加到你的.git/info/exclude文件中。这些文件条目将只应用于您的本地工作副本。

如何忽略已更改的文件(临时)

为了忽略已更改的文件,将其列为已修改,您可以使用以下git命令:

git update-index --assume-unchanged <file1> <file2> <file3>

要恢复这种无知,请使用以下命令:

git update-index --no-assume-unchanged <file1> <file2> <file3>

如果你想忽略一个已经签入的文件,你必须在添加一个规则来忽略它之前取消跟踪该文件:

git rm --cached FILENAME

现在提交更改并将文件路径添加到.gitignore文件。

如果之前添加了任何文件到Git中,那么删除该文件并在.gitignore中添加该文件。

示例:如果有麻烦忽略包。在添加SPM依赖项时生成的解析文件。

我添加了以下行到我的.gitignore文件:

Packages/
Package.pins
Package.resolved
*.xcworkspace

并拆下了包裹。解决文件。 现在Git开始忽略我的包。解决文件。

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

您可能遇到的一种情况是.gitignore不会忽略您之前提交的文件。您应该首先从存储库中删除或移动这些文件,提交刚才所做的更改,然后将“*.class”添加到.gitignore。