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

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

如何让Git忽略Hello.class?


当前回答

您还可以使用.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 update-index——assume-unchanged <file> 用于恢复被忽略的文件:git update-index——no-assume-unchanged <file>

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

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

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

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

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

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

我试过这个

列出我们要忽略的文件 Git状态。idea/xyz.xml .idea/pqr。iml输出.DS_Store 复制步骤#1的内容并将其追加到.gitignore文件中。 Echo " .idea/xyz.xml .idea/pqr. xml "。iml Output .DS_Store" >> .gitignore . iml Output .DS_Store" >> .gitignore . iml 验证 Git状态。gitignore

同样地,我们可以使用directoryname/*在Git状态中添加一个目录及其所有我们想忽略的子目录和文件。我从src目录执行了这个命令。