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