(1).gitignore介绍
在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己指定哪些文件可以不被管理。具体方法是在版本管理的根目录下(与.git文件夹同级)创建一个 .gitignore(gitignore是隐藏文件,所以前面有个点)
gitignore - Specifies intentionally untracked files to ignore
(2)应用实例
项目中有clist.h clist.c main.c三个文件,编译执行后,生成了三个文件 clist.o main.o main(执行文件)。这三个文件是不需要进行版本管理的,所以需要忽略这些文件,使用 git stauts查看后,发现这三个文件也是处于 Untracked files状态。而实际上我们是想忽略他。
使用gitignore文件来解决这个问题,步骤是:
S1: touch .gitignore #创建gitignore隱藏文件
S2: vim .gitignore #编辑文件,加入指定文件
#下面是我的gitignore文件的内容
#忽略gitignore文件
.gitignore
#忽略后缀名为.o和.a的文件
*.[oa]
#显示指定忽略名称为main的文件
main
#设置忽略文件夹
/文件夹名称/
文件.gitignore的格式规范:
A:#为注释
B:可以使用shell所使用的正则表达式来进行模式匹配
C:匹配模式最后跟”/”说明要忽略的是目录
D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件)
配置完.gitignore文件后,执行git status命令,会发现那三个文件不再是Untracked files了,也就完成了忽略指定文件的功能。
具体的流程:
1.新建git项目,并clone到本地。
2.添加文件。
3.文件夹目录结构如下,
现在想将小笔记.rtf文件不提交到git,需设置.gitignore文件
此时利用$ git status
命令查看git的状态
4.若没有创建.gitignore文件,需要创建此文件,
vim .gitignore
5.在打开的.gitignore文件中添加忽略的文件名
添加完成后,ESC,并输入:wq
6.此时再查看git的状态
多了一个.gitignore文件,少了一个你所设置的忽略文件,这样就对了。
后面的步骤就是提交到git。
注:”/1/” 表示忽略名为“1”的文件夹
*.jpg 表示忽略所有后缀名为.jpg文件
全局忽略DS_Store:
1.vi ~/.gitignore_global
在gitignore_global中写入:
.DS_Store
*/.DS_Store
2.vi ~/.gitconfig
配置.gitconfig 文件如下:
[user]
name = xiaoronglv
email = xxxxx@gmail.com
[push]
default = matching
[core]
excludesfile = /Users/holy/.gitignore_global
其中:/Users/holy 可以在命令行输入pwd即可查看。
参考网址:http://www.mednoter.com/gitignore-global.html