本文转自http://sentsin.com/web/666.html

今天讲讲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,处理起来会非常麻烦。

转载于:https://www.cnblogs.com/code-changeworld/p/4773703.html

(转).gitignore详解相关推荐

  1. .gitignore文件_Java小白入门,Git忽略文件.gitignore详解

    在工程中,并不是所有文件都需要保存到版本库中的,例如"target"目录及目录下的文件就可以忽略.在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件 ...

  2. Git中非常重要的一个文件——.gitignore详解

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

  3. Git忽略文件.gitignore详解

    文章目录 Git 忽略规则优先级 Git 忽略规则匹配语法 常用匹配示例 .gitignore规则不生效 Java项目中常用的.gitignore文件 在工程中,并不是所有文件都需要保存到版本库中的, ...

  4. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器

    本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...

  5. Docker(三):Dockerfile 命令详解

    上一篇文章Docker(二):Dockerfile 使用介绍介绍了 Dockerfile 的使用,这篇文章我们来继续了解 Dockerfile ,学习 Dockerfile 各种命令的使用. Dock ...

  6. Angular目录结构分析以及app.module.ts详解

    场景 Angular介绍.安装Angular Cli.创建Angular项目入门教程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...

  7. U-Boot 之三 U-Boot 源码文件解析及移植过程详解

      在之前的博文 Linux 之八 完整嵌入式 Linux 环境介绍及搭建说明 中我们说了要一步步搭建整个嵌入式 Linux 运行环境.我所使用的硬件平台及整个要搭建的嵌入式 Linux 环境见博文 ...

  8. ag 搜索工具参数详解

    ag 搜索工具参数详解 Ag 是类似ack, grep的工具,它来在文件中搜索相应关键字. 官方列出了几点选择它的理由: 它比ack还要快 (和grep不在一个数量级上) 它会忽略.gitignore ...

  9. vue-cli脚手架中webpack配置基础文件详解

    一.前言 vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wepack的项目模板.这其中webpack发挥了很大的作用,它使得我们的代码模块化,引入一些插件帮 ...

最新文章

  1. OpenCV矩阵运算
  2. ajax调取json接口,通过 Ajax 调取后台接口将返回的 json 数据绑定在页面上
  3. react+webpack 引入字体图标
  4. 将用户添加至sudoers列表
  5. wk一sm5时间温度控制器_新能源汽车电机控制器温度计算及其模型—DC电容篇
  6. Javascript创建节点
  7. 如何建立论坛的核心用户--引发的思考
  8. fmt.Println、fmt.Printf、fmt.Sprintf、fmt.Sprintln
  9. 移动硬盘上划分linux分区,Linux下磁盘分区和移动硬盘的挂载方法有哪些?
  10. 图标出问题_同是Office365,为什么你的软件图标还是旧版的?
  11. 【STM32】 keil软件工具--Configuration详解(上)
  12. jbpm6.5 环境搭建(三) 数据库 切换
  13. TreeView无限极分类绑定(从数据库读取数据源)
  14. VS2010 测试功能之旅:编码的UI测试(4)-通过编写测试代码的方式“.NET研究”建立UI测试(下)...
  15. HTC公布第二款区块链手机Exodus 1s:或将于9月前发售
  16. NYOJ116----线段树树状数组
  17. python为什么没有真正意义上的多线程_Python之threading多线程 存在的意义
  18. 求一个数的平方c语言函数实现,C++中数的平方是什么函数?
  19. 联想拯救者 Legion Y7000P 安装 Ubuntu 18.04.2 LTS amd64 遇到的问题解决
  20. 数据结构练习题——图(含应用题)

热门文章

  1. Linux用某一用户创建文件,Linux创建用户,并赋予管理指定目录的权限
  2. 疯子的算法总结10--最小生成树Kruscal
  3. LeetCode Hot100 ---- 最长相关专题(动态规划)
  4. kickstart research
  5. ashx和asmx的HttpContext
  6. MATLAB 中搭建MatConvNet运行环境(调用GPU运行)以及遇到的错误
  7. 在命令行中打开远程端的图形应用程序
  8. 李嘉诚那么有钱,为什么还要把国内很多资产卖掉?
  9. VHDL中的转换函数
  10. Fedora gedit 打开txt文件乱码的解决