我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
当前回答
如果之前添加了任何文件到Git中,那么删除该文件并在.gitignore中添加该文件。
示例:如果有麻烦忽略包。在添加SPM依赖项时生成的解析文件。
我添加了以下行到我的.gitignore文件:
Packages/
Package.pins
Package.resolved
*.xcworkspace
并拆下了包裹。解决文件。 现在Git开始忽略我的包。解决文件。
其他回答
如果之前添加了任何文件到Git中,那么删除该文件并在.gitignore中添加该文件。
示例:如果有麻烦忽略包。在添加SPM依赖项时生成的解析文件。
我添加了以下行到我的.gitignore文件:
Packages/
Package.pins
Package.resolved
*.xcworkspace
并拆下了包裹。解决文件。 现在Git开始忽略我的包。解决文件。
在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步不起作用,那么您应该编写想要添加的文件的整个路由。
如果你想忽略一个已经签入的文件,你必须在添加一个规则来忽略它之前取消跟踪该文件:
git rm --cached FILENAME
现在提交更改并将文件路径添加到.gitignore文件。
在.gitignore文件中添加以下行:
/Hello.class
这将从Git中排除Hello.class。如果已经提交,则执行以下命令:
git rm Hello.class
如果你想从Git中排除所有类文件,在.gitignore中添加以下行:
*.class
首先创建一个.gitignore文件,我们必须在其中存储要忽略的文件和目录的名称。
忽略一个目录;
name_of_directory/
忽略文件;
name_of_file
我们不需要提供要忽略的文件或目录的完整路径;我们只需要提供它的名字。
如果你想忽略所有具有相同扩展名的文件;
*.pyc #will ignore all files with pyc extention
此外,上述内容仅在未将文件添加到Git时才会第一次起作用。但是,如果我的错误是您向Git添加了一个文件,现在您希望在其余的提交中忽略它,您需要首先通过运行以下命令清除关于该文件的Git缓存;
git rm -r --cached <path_of_the_file>
其余部分是相同的,即将名称添加到.gitignore文件中。