git add和被ignore的文件
如果有如下的目录结构:
workspace tree
|
---------------------
| |
hello.c d
hello.o |
.gitignore say.c
say.o
.gitignore
在workspace tree的跟目录下有3个文件hello.c,hello.o,.gitignore以及一个文件夹d,其中根目录下的.gitignore文件忽略.o文件。在文件夹d下也有3个文件,say.c, say.o,.gitignore,其中文件夹d下的.gitignore不忽略.o文件。hello.o和say.o都是刚刚编译出来的文件。此时,如果在根目录下运行
git add *
则会报错:
The following paths are ignored by one of your .gitignore files:
hello.o
Use -f if you really want to add them
fatal:no files add
而如果运行:
git add \*
则可以将d/say.o成功的添加到index中。
通过git add --help查询发现:
1) git add 后面跟的文件有被忽略的文件,那么操作失败;
2) git add 通过遍历目录遇到了要被忽略的文件,此文件不会被加入到index
3) git add 遇到由git展开glob(不是由shell展开)形成的要被忽略的文件,此文件不会被加入到index
因此,在上面的情形中,直接运行git add *是进行的shell 展开glob,此时相当于运行git add hello.o(由于shell 展开glob无法cross目录,因此没有匹配d/say.o),而hello.o是要被忽略的文件,所以操作失败;如果运行git add \*,\*由git展开,可以匹配hello.o,d/say.o,根据上面的原则3),hello.o不会被加入到index中,因此此时相当于运行git add d/say.o,所以操作得以正确进行。
git add和被ignore的文件的更多相关文章
- [git]git add 增加文件,文件名乱码
使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如 274\232\350\256\256\346\200\273\347\273\223.png 的乱码. 解决方案: 在bash ...
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...
- CenOS下安装 Git,Git的初始设置,添加文件,提交文件
一.配置DNS 1,配置DNSvi /etc/resolv.conf加入: 代码如下: nameserver 192.168.0.1 nameserver 8.8.8.8 nameserver 8.8 ...
- Git在windows下上传文件至github流程
github是开发者分享的一个平台,这里不多说,想要上传文件至github需要有一个开发者账号,还需要在windows下安装好了git. 做好准备工作之后,接下来操作 一:登录github,创建项目 ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- git add . git add -u git add -A命令区别图解
git版本不同会有所区别: Git Version 1.x: Git Version 2.x: git add . 修改(modified)以及新文件(new),但不包括被删除的文件. git ...
- git命令——git add
如何理解git add git add命令本身并不复杂,字面意义上理解是“将一个文件添加到项目中“.但是这种理解有缺陷,有时候可能会出现某个文件同时存在暂存区域 和 非暂存区域(staged and ...
- git学习记录——基础概念和文件的基本操作
夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...
- git将本地仓库中的文件上传到远程仓库
现在我们开始创建本地git仓库(版本库又叫仓库) (本地仓库:$ git init之后的目录): 1.任意地方新建文件夹aaa,右击git bash here, 2.弹出一个对话框, 3. 首先配置你 ...
随机推荐
- Meta 整合
Meta 整合:http://segmentfault.com/a/1190000002407912
- 图片自动转换效果 jquery
http://www.16sucai.com/uploadfile/show5/switchable01/switchable/ <div class="maxpSlid" ...
- jquery-1.10.2 获取checkbox的checked属性总是undefined
项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined ...
- AFNetworking 使用方法(2.0)
AFNetworking 使用方法(2.0) 分类: IOS2014-11-12 09:17 2018人阅读 评论(0) 收藏 举报 目录(?)[+] 本文介绍的是AFNetworking-2 ...
- [Codeforces Round #247 (Div. 2)] A. Black Square
A. Black Square time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- WPF利用Image实现图片按钮
之前有一篇文章也是采用了Image实现的图片按钮,不过时间太久远了,忘记了地址.好吧,这里我进行了进一步的改进,原来的文章中需要设置4张图片,分别为可用时,鼠标悬浮时,按钮按下时,按钮不可用时的图片, ...
- java.lang.OutOfMemoryError: unable to create new native thread(转)
解决 - java.lang.OutOfMemoryError: unable to create new native thread 工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文 ...
- Zoj3332-Strange Country II(有向竞赛图)
You want to visit a strange country. There are n cities in the country. Cities are numbered from 1 t ...
- hdu 5676 ztr loves lucky numbers(dfs+离线)
Problem Description ztr loves lucky numbers. Everybody knows that positive integers are lucky if the ...
- hdu 3635 Dragon Balls(并查集应用)
Problem Description Five hundred years later, the number of dragon balls will increase unexpectedly, ...