“ 小心别把你的密码提交到git上!!——编程三分钟”
第 10 篇
忽略不想提交的文件
什么时候我们想忽略一些文件呢?
第一种:我们根本就不想某些文件出现在git库里,比如日志文件等垃圾文件;
第二种:git远程仓库里有这些文件,比如配置,我们必须要在本地修改配置来适应当前运行环境,难说还会涉及到数据库连接密码等敏感信息,这种情况下我们不想每次提交的时候都去跟踪这些文件,也不想把本地的记录提交上去。
忽略自动生成的垃圾文件、中间文件、敏感信息文件
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
我们要怎么做呢?
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
- 创建并写入忽略规则
*.log
忽略全部以.log
为后缀的文件 - 创建了
test.log
和test2.log
-
status
查看,真是工作区是clean
,新创建的文件没有被跟踪
忽略远程存在,本地不想与远程同步的文件
添加跟踪忽略核心命令:
git update-index —assume-unchanged 文件名
我在远程提交了一个time.txt
文件内容为10:41
, 然后进行以下的一顿操作,解除了此文件的本地追踪,不管远程这个文件变成什么样子,Git都不会再去对比此文件差异,拉代码的时候也不会覆盖此文件了。
- 使用命令
git update-index —assume-unchanged
加time.txt
加到忽略名单里 - 修改
time.txt
的内容为10:43
-
git status
查看确实没有被跟踪
如果需要取消以上操作就使用以下命令即可:
git update-index —no-assume-unchanged 文件名
这个时候就有人问了,要是加了太多的忽略跟踪,要是忘记了怎么办?其实根本就不用人脑来记忆。
- 使用命令
git update-index —assume-unchanged
加time.txt
加到忽略名单里 - 使用
git ls-files -v| grep '^h\ '
命令可以看到小写h代表本地不跟踪的文件
完结撒花
到这里就玩转Git系列就全部更新完毕了,同时我把这个系列的文章整理成了目录,加到了菜单中的【精选教程】【玩转Git】中便于大家查阅。今天连发两篇,另一篇我把Git几乎所有可能用到的命令归类,方便备用查询。
后续我会在下面三个挑一些来写一写,完整这个Git专题
【保留原提交记录迁移Git项目】【svn迁移到Git】【常用Git可视化工具】
理论上,git日常用到的命令是 diff show fetch rebase pull push checkout commit status 等,这些命令都不会导致代码丢失,假如害怕代码丢失,可以预先commit一次,再进行修改,但切记
不可使用自己不熟悉的命令 任何命令,不要加上-f的强制参数,否则可能导致代码丢失 建议多使用命令行,不要使用图形界面操作