今天讲讲Git中非常重要的一个文件——.gitignore。

首先要强调一点,这个文件的完整文件名就是“.gitignore”,注意最前面有个“.”。这样没有扩展名的文件在Windows下不太好创建,这里给出win7的创建方法:

创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。

一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。

实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。

这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。

下面我们看看常用的规则:

  • /mtk/ 过滤整个文件夹

  • *.zip 过滤所有.zip文件

  • /mtk/do.c 过滤某个具体文件

很简单吧,被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传。

需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中:

  • !*.zip

  • !/mtk/one.txt

唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。

为什么要有两种规则呢?想象一个场景:我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理。那么我们就需要使用:

  • /mtk/

  • !/mtk/one.txt

假设我们只有过滤规则没有添加规则,那么我们就需要把/mtk/目录下除了one.txt以外的所有文件都写出来!

最后需要强调的一点是,如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。

简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。

所以大家一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。

最新文章

  1. 【WPF】GridLengthAnimation
  2. linux socket编程实例
  3. oracle-分页查询方案
  4. userdate和table类型的效率对比
  5. POJ 3156 - Interconnect (概率DP+hash)
  6. 【python】文件的输入和输出
  7. weblogic/utils/NestedException
  8. Apache 2.4 多站点配置记录
  9. Android 实现emoji表情的demo
  10. 科讯CMS V9标签清单
  11. PHPStorm自动提示方法
  12. hdu 4586 Play the Dice(概率dp)
  13. Seinfeld(栈模拟)
  14. linux kernel中timer的使用
  15. Sqoop Java API 导入应用案例
  16. js生成[n,m]的随机数,js如何生成随机数,javascript随机数Math.random()
  17. 基于微服务的DevOps落地指南 交付效率提升40%
  18. mongodb配置问题
  19. YARN集群的mapreduce测试(四)
  20. 【Luogu3602】Koishi Loves Segments(贪心)

热门文章

  1. 最长回文子串--轻松理解Manacher算法
  2. mysql 无法启动 unkown command
  3. 项目部署到centos7云端验证码出现乱码
  4. Aspose.word直接转pdf
  5. 求一个极大数的欧拉函数 phi(i)
  6. css3响应式图片
  7. swift 基础-4
  8. 洛谷 CF1148A Another One Bites The Dust
  9. bootstrap fileinput 上传文件
  10. fiddler设置只抓取某一域名请求