类似的一个问题是项目根目录下可能有 logs 一类的目录,

我们希望他人把仓库 clone 下来的时候能够已经携带了这个目录,

但又不希望让这个目录中的日志文件进版本库。

之前看到一些项目用了一种比较 ugly 的做法:

在 logs 下建立一个 .gitkeep 空文件(git 无法版本控制没有任何文件的空目录),

然后再在项目根目录 .gitignore 中写入一行

logs/*

其实完全没有这样的必要,我们可以直接在 logs 里面写一个 .gitignore 文件,内容如下:

 *
!.gitignore

然后

git add logs/.gitignore

git commit 

提交。

这个 .gitignore 既留住了空目录,又声明了忽略。

而且某天如果要删除 logs 目录,直接 git rm -r logs 即可,

无需再修改项目根目录下的 .gitignore 。

Git 忽略某个目录中的文件,同时保留这个目录的更多相关文章

  1. find - 递归地在层次目录中处理文件

    总览 SYNOPSIS find [path...] [expression] 描述 DESCRIPTION 这个文档是GNU版本 find 命令的使用手册. find 搜索目录树上的每一个文件名,它 ...

  2. 使用Parallel计算目录中的文件字节长度

    /// <summary> /// 根据通配符和搜索条件计算给定目录中的文件字节长度 /// </summary> /// <param name="path& ...

  3. git忽略以点开头的文件夹

    git忽略以点开头的文件夹 好像不是什么问题,可是我用的时候不好使,还是记录下 参考:http://www.oschina.net/question/1437985_2181276

  4. Java中删除文件、删除目录及目录下所有文件(转)

    原文链接:Java中删除文件.删除目录及目录下所有文件 知识点:File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,具体代码示例如下: ...

  5. python glob 用通配符查找指定目录中的文件 - 开源中国社区

    python glob 用通配符查找指定目录中的文件 - 开源中国社区 python glob 用通配符查找指定目录中的文件

  6. Linux查看目录中的文件

    Linux查看目录中的文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls examples.desktop jdk 公共的 视频 文档 音乐 java ...

  7. C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...

  8. File类之在指定目录中查找文件

    package IoDemo; import java.io.File; /** * @Title:FileDemo2 * @Description:在指定的目录中查找文件 * @author Cra ...

  9. git忽略已经被提交的文件

    git忽略已经被提交的文件 git rm --cached logs/xx.log 然后更新 .gitignore 忽略掉目标文件, 最后 git commit -m "We really ...

  10. java中把文件拷贝到指定目录下最简单几种方法

    java中把文件拷贝到指定目录下最简单几种方法   String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...

随机推荐

  1. C++--------------------------------指针和数组替换使用原因

    马上要考试了,复习数据结构中,对C的指针不太了解,在严蔚敏<数据结构(C语言版)>中,发现p22定义顺序存储结构: typedef srtuct{ ElemType *elem; //存储 ...

  2. js深复制

    一般来讲深复制主要是为了复制js对象中的引用类型,引用类型在普通的赋值操作下相当于是引用,修改复制对象也会影响原对象,简单的方法的话可以使用JSON.parse(JSON.stringify(obj) ...

  3. mysql修改时区

    查看mysql当前时间 查看mysql时区设置 查看mysql数据库的时区 mysql修改时区的几种方法

  4. MongoDB 之 数据类型 最无聊! But 最有用! MongoDB - 3

    MongoDB的新篇章开始啦 - 数据类型 https://www.cnblogs.com/xuzhaocai/p/8048177.html 一.MongoDB 之 丰富多彩的数据类型世界 首先我们要 ...

  5. spfa求图的最大流

    题目链接: https://vjudge.net/contest/255738#problem/B AC代码: #include <iostream> #include<vector ...

  6. 2017-2018-2 20165227 实验四《Android程序设计》实验报告

    一.实验报告封面 课程: Java程序设计 班级: 1652班 姓名: 朱越 学号: 20165227 指导教师: 娄嘉鹏 实验日期: 2018年5月14日 实验时间: 13:45 - 3:25 实验 ...

  7. JS判断客户浏览器是否是IE8浏览器、jQuery判断浏览器内核

    今天在使用encharts的时候由于要兼容IE8,所以最终决定在非IE8浏览器使用encharts,在IE8使用amcharts.于是需要使用JS判断使用的浏览器版本: function IEVers ...

  8. SOAP简单示例

    看了网上的几个文章,SOAP的示例布局都不清晰,不能马上入手,特意写个例子与大家分享,同时记录备用. 当前环境:VS2013 + WPF private void Button_Click(objec ...

  9. springboot---->集成mybatis开发(一)

    这里面我们介绍一下springboot与mybatis的集成,主要完成了mybatis的真分页.一个成熟的人往往发觉可以责怪的人越来越少,人人都有他的难处. springboot简单集成mytbati ...

  10. Coursera台大机器学习技法课程笔记11-Gradient Boosted Decision Tree

    将Adaboost和decision tree相结合,需要注意的地主是,训练时adaboost需要改变资料的权重,如何将有权重的资 料和decision tree相结合呢?方法很类似于前面讲过的bag ...