.gitkeep是什么? .gitignore和.gitkeep之间的区别(译)

news/2023/12/9 10:19:56

你是不是在git工程里遇到过.gitkeep文件?如果你通过angular脚手架来生成angular2或者angular4工程,你会发现.gitkeep文件在./src/app/assets文件夹里。你对着个文件感到奇怪吗?我们都知道我们的老朋友.gitignore。你也许会觉得它是.gitignore的兄弟。git提供给我们这个神奇的文件有什么特殊的属性吗?

.gitkeep是什么

在知道这件事之前,我们必须要先了解git是不能追踪空的目录的。如果你有一个空的目录,git会对它视而不见。但这是我们想要的一个特性,现在你放一个文件到这个目录中,git就能开始追踪这个目录了,这个文件可以是任何东西,这个文件也可以包含任何东西。

所以.gitkeep是什么?通常,团队里把这个神奇的文件命名为.gitkeep。其他人就能很容易理解,git这个软件没有赋予它其他的特性相对于.gitignore。

现在如果你希望追踪获取push一个空的目录,你只要创建一个.gitkeep文件就可以,其他的开发者就能很容易理解,一般来说,人们把它用于assets文件夹或者log文件夹(因为一上来这两个文件夹可能是空的)。注意:千万不要把.gitkeep写到.gitignore里,这样的话,所有的空目录都不会被追踪了,也就提交不了了。

有一小部分团队会把.gitignore文件放到空的文件夹中,这样的话大部分人看到这个文件就会感到困惑。.gitignore文件是用来让git去忽略你版本控制系统中不需要的文件的。所以也可以利用这个方法,在空目录中添加一个.gitignore文件让git来追踪他们。

总结:对于空目录的追踪我们可以用.gitkeep来做。


http://www.niftyadmin.cn/n/3777787.html

相关文章

大数据成神之路-Java高级特性增强(LinkedBlockingDeque)

请戳GitHub原文: github.com/wangzhiwubi… 大数据成神之路系列: 请戳GitHub原文: github.com/wangzhiwubi… Java高级特性增强-集合 Java高级特性增强-多线程 Java高级特性增强-Synchronized Java高级特性增强-volatile Java高级特性增强-并发集合框架 Java高级特性…

电脑小技巧:关于修复只能看无法拖…

平时下电影经常碰到一些视频文件只能从头看到尾,不能拖动进度条..后来上网查了一下,原来是文件有损坏.需要修理.用数据库的理论就是索引被破坏.所以导致无法拖动进度条,从网上下了个RMFIX软件,很好用。也很简单。修复完以后一切正常。哈哈.

geth命令详解

为什么80%的码农都做不了架构师?>>> geth - go-ethereum命令行接口 具体命令 以下命令为系统级别的操作命令,比如管理账户,导入导出功能,本身并不会启动节点,只是在使用相应的功能。只有console命令和atta…

转帖,超级实用----VS2005快捷键使…

ShiftAltEnter: 切换全屏编辑CtrlB,T / CtrlK,K: 切换书签开关CtrlB,N / CtrlK,N: 移动到下一书签CtrlB,P: 移动到上一书签CtrlB,C: 清除全部标签CtrlI: 渐进式搜索CtrlShiftI: 反向渐进式搜索CtrlF: 查找CtrlShiftF: 在文件中查找F3: 查找下一个ShiftF3: 查找上一个CtrlH: 替换…

SpringMVC中的ContentNegotiatingViewResolver配置

2019独角兽企业重金招聘Python工程师标准>>> pom.xml <properties><commons-lang.version>2.6</commons-lang.version><slf4j.version>1.7.6</slf4j.version><spring.version>4.1.3.RELEASE</spring.version><jackson…

转帖:在nbsp;Linuxnbsp;下运行nbsp;ASP.NETnbsp;2.0

单位有一台闲置的旧 IBM Netfinity 7000 的服务器&#xff0c;双 Pentium Pro 200 MHz CPU&#xff0c;512 MB 内存&#xff0c;一个 9.1 GB 和五个 4.5 GB 的 SCSI 硬盘。我想将其废物利用一下&#xff0c;于是&#xff1a;1. 到 http://tw.releases.ubuntu.com/edgy/ 下载 PC…

Java的数据类型与类型转换

Java的数据类型与类型转换 1.基本数据 基本数据类型&#xff08;字节&#xff09; byte(1) float(4) int(4) long(8) double(8) boolean(1) char(2) 说明&#xff1a;八进制0&#xff08;零&#xff09;开头&#xff0c;十六机制0x&#xff08;零x&#xff09;开头&#…

UNIXnbsp;shellnbsp;字符串截取实例!!

read DATE month$(echo $DATE | awk { print substr($1,5,2)}) year$(echo $DATE | awk { print substr($1,1,4)}) day$(echo $DATE | awk { print substr($1,7,2)}) echo $year echo $month echo $day

无法设置 / 添加网络打印机?报错 无法保持设置?

设置网络打印机? 在 打印机 -> "打印机默认首选项" 或 "打印机属性" 中, 注意 不是 "属性" 中, 的 " 共享" 选项卡中 设置 "共享"如果提示 : "无法保持设置, 错误 6dx"? 是因为 连接打印机的机器中的 "…

shell截取函数2

read date echo $date | cut -c 1-4 year$(echo $date | cut -c1-4) echo $year可以根据这些写一个函数.

python模块: urllib模块详解 !!

前言相信大家在做一个Python项目的时候&#xff0c;肯定会用到模块&#xff0c;就想JAVA会用到JAR包一样&#xff0c;这样会让我们的开发更高效和更简洁&#xff0c;本节为大家介绍一个URLlib模块 在python中urllib模块提供上层接口,可以使用它下载读取数据,这里举个例子,把sin…

PaddleFluid和TensorFlow基本使用概念对比 | PaddlePaddle专栏

深度学习平台的演化 时至今日&#xff0c;深度学习已成为事实上最流行的机器学习技术。学术界多年研究加上工业界的长期实践提出了若干有效的基本建模单元&#xff1a;全连接&#xff0c;卷积&#xff0c;循环神经网络等&#xff1b;设计各类训练技巧&#xff1a;初始化方法&am…

用shell截取sql数据

参照原帖http://blog.csdn.net/fantian830211/archive/2007/10/08/1815159.aspx首先创建一个PROC 输出参数。shell中执行&#xff0c;在最后print 参数。调用时直接引用上面的shell &#xff0c;将结果赋值给变量。用引用tail函数截取后几行。赋值给变量并输出。#fun1sqlplus -…

【云周刊】第175期:终于来了!重磅发布:阿里云负载均衡SLB率先支持IPv6!

2019独角兽企业重金招聘Python工程师标准>>> 本期头条 终于来了&#xff01;重磅发布&#xff1a;阿里云负载均衡SLB率先支持IPv6&#xff01; IPv6的设计初衷是用以解决IPv4地址枯竭问题&#xff0c;同时对IPv4进行大量改进&#xff0c;并最终取代IPv4。然而由于N…

sqlload使用小结!

sql load的一点小总结 sqlldr useridlgone/tiger controla.ctl LOAD DATA INFILE t.dat // 要导入的文件 // INFILE tt.date // 导入多个文件 // INFILE * // 要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容 INTO TABLE table_name // 指定装入的表 BADFILE…

python中逻辑运算符“+”的特殊之处

num num num 与 num num 的区别(其他语言中这俩种方式可以划等号&#xff0c;但是python中不可以)&#xff1a; num num num&#xff1a; num [100] def test(num):num num numprint(num) test(num) print(num) 结果&#xff1a; [100, 100] [100] num num &#xff1…
最新文章