git忽略而不提交文件的3种情形

小文blog小文 2018-07-17 09:20 750人围观

未提交过忽略

从未提交过的文件可以用.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


转载请注明来自小文blog,本文标题:git忽略而不提交文件的3种情形

发布评论
生活是一场戏,主角当累了,你亦可成为观众,停下脚步,歇一歇