忽略不想提交的文件- 每天三分钟玩转Git(10)大结局

 小心别把你的密码提交到git上!!——编程三分钟

图片



第 10 篇

忽略不想提交的文件



什么时候我们想忽略一些文件呢?

第一种:我们根本就不想某些文件出现在git库里,比如日志文件等垃圾文件;

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

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

忽略文件的原则是:

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

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

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

我们要怎么做呢?

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

图片

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

  • 创建了test.logtest2.log

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


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

添加跟踪忽略核心命令:

git update-index —assume-unchanged 文件名

图片

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

图片


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

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

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

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

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

这个时候就有人问了,要是加了太多的忽略跟踪,要是忘记了怎么办?其实根本就不用人脑来记忆。

图片

  • 使用命令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一次,再进行修改,但切记


猜你喜欢

转载自blog.51cto.com/15076235/2608381