Git忽略文件分为几种情况:
从未提交过的文件
也就是添加之后从来没有提交(commit)过的文件,可以使用.gitignore忽略该文件
该文件只能作用于未跟踪的文件(Untracked Files),也就是那些从来没有被 git 记录过的文件
比如,忽略log/下的日志文件,可以在.gitignore中写
log/*
已经推送(push)过的文件
想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件
git rm --cached .vscode/tasks.json
后面的 .vscode/tasks.json 是要从远程库中删除的文件的路径,支持通配符*
比如,不小心提交到git上的一些log日志文件,想从远程库删除,可以用这命令。
已经推送(push)过的文件,想在以后的提交时忽略此文件
即使本地已经修改过,而且不删除git远程库中相应文件
git update-index --assume-unchanged .vscode/tasks.json
后面的 .vscode/tasks.json 是要忽略的文件的路径。如果要忽略一个目录,打开 git bash,cd 到 目标目录下,执行:
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ')
比如有一个配置文件 jdbc.properties 记录数据库的链接信息,每个人的链接信息肯定不一样,但是又要提供一个标准的模板,用来告知如何填写链接信息,那么就需要在git远程库上有一个标准配置文件,然后每个人根据自己的具体情况,修改一份链接信息自用,而且不会将该配置文件提交到库!