每天3分钟玩转Git—— 10 – 忽略不想提交的文件

小熊 玩转Git评论4,099字数 1297阅读4分19秒阅读模式

10 - 忽略不想提交的文件

 小心别把你的密码提交到git上!!——编程三分钟
每天3分钟玩转Git——  10 – 忽略不想提交的文件

什么时候我们想忽略一些文件呢?
第一种:我们根本就不想某些文件出现在git库里,比如日志文件等垃圾文件;
第二种:git远程仓库里这些文件,比如配置,我们必须要在本地修改配置来适应当前运行环境,难说还会涉及到数据库连接密码等敏感信息,这种情况下我们不想每次提交的时候都去跟踪这些文件,也不想把本地的记录提交上去。

忽略自动生成的垃圾文件、中间文件、敏感信息文件

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;

  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;

  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

我们要怎么做呢?

Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

每天3分钟玩转Git——  10 – 忽略不想提交的文件

  • 创建并写入忽略规则*.log忽略全部以.log为后缀的文件

  • 创建了test.logtest2.log

  • status查看,真是工作区是clean,新创建的文件没有被跟踪

忽略远程存在,本地不想与远程同步的文件

添加跟踪忽略核心命令:

git update-index —assume-unchanged 文件名

每天3分钟玩转Git——  10 – 忽略不想提交的文件
我在远程提交了一个time.txt文件内容为10:41, 然后进行以下的一顿操作,解除了此文件的本地追踪,不管远程这个文件变成什么样子,Git都不会再去对比此文件差异,拉代码的时候也不会覆盖此文件了。
每天3分钟玩转Git——  10 – 忽略不想提交的文件

  • 使用命令git update-index —assume-unchangedtime.txt加到忽略名单里

  • 修改time.txt的内容为10:43

  • git status查看确实没有被跟踪 

如果需要取消以上操作就使用以下命令即可:

git update-index —no-assume-unchanged 文件名

这个时候就有人问了,要是加了太多的忽略跟踪,要是忘记了怎么办?其实根本就不用人脑来记忆。
每天3分钟玩转Git——  10 – 忽略不想提交的文件

  • 使用命令git update-index —assume-unchangedtime.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的强制参数,否则可能导致代码丢失 建议多使用命令行,不要使用图形界面操作

weinxin
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
小熊