我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
当前回答
您可能遇到的一种情况是.gitignore不会忽略您之前提交的文件。您应该首先从存储库中删除或移动这些文件,提交刚才所做的更改,然后将“*.class”添加到.gitignore。
其他回答
您可以使用下面的方法来忽略/不忽略跟踪文件中的更改。
对于忽略:git update-index——assume-unchanged <file> 用于恢复被忽略的文件:git update-index——no-assume-unchanged <file>
如何忽略新文件
在全球范围内
将你想忽略的路径添加到你的.gitignore文件中(并提交它们)。这些文件条目也将应用于其他签出存储库的文件。
在本地
将你想忽略的路径添加到你的.git/info/exclude文件中。这些文件条目将只应用于您的本地工作副本。
如何忽略已更改的文件(临时)
为了忽略已更改的文件,将其列为已修改,您可以使用以下git命令:
git update-index --assume-unchanged <file1> <file2> <file3>
要恢复这种无知,请使用以下命令:
git update-index --no-assume-unchanged <file1> <file2> <file3>
在Windows上
创建一个.gitignore文件。要做到这一点,你只需要创建一个.txt文件,并更改扩展名如下:
然后你必须更改名称,在cmd窗口中写入以下一行:
rename git.txt .gitignore
其中git.txt是刚刚创建的文件的名称。
然后,您可以打开该文件并将不想添加到存储库中的所有文件写入。例如,我的是这样的:
# OS junk files
[Tt]humbs.db
*.DS_Store
# Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad
# Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*
# Project files
[Bb]uild/
# Subversion files
.svn
# Microsoft Office temporary files
~$*
一旦有了这个,就需要将它添加到Git存储库中。您必须将文件保存在存储库所在的位置。
然后在Git Bash中,你必须写下面这行代码:
git config --global core.excludesfile ~/.gitignore_global
如果存储库已经存在,那么您必须执行以下操作:
Git rm -r——cached。 Git添加。 Git commit -m”。Gitignore现在正在工作"
如果第2步不起作用,那么您应该编写想要添加的文件的整个路由。
我有类似的问题与文件“dump.rdb”。 我尝试以各种方式将该文件添加到.gitignore文件中,但只有一种方式有效。
在.gitignore文件的末尾添加您的文件名
注意:在其他任何地方添加文件都不起作用。
例如:https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
你应该这样写
*.class
到你的。gitignore文件。