Github使用gitignore忽略增加指定文件

转载 2016年08月31日 15:48:09

(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文件来解决这个问题,步骤是:

[plain] view plain copy
  1. S1:      touch  .gitignore     #创建gitignore隱藏文件  
  2. S2:      vim    .gitignore     #编辑文件,加入指定文件  
  3.          #下面是我的gitignore文件的内容  
  4.          #忽略gitignore文件  
  5.          .gitignore  
  6.          #忽略后缀名为.o和.a的文件  
  7.          *.[oa]  
  8.          #显示指定忽略名称为main的文件  
  9.          main  


文件.gitignore的格式规范:
A:#为注释   
B:可以使用shell所使用的正则表达式来进行模式匹配   
C:匹配模式最后跟"/"说明要忽略的是目录 
D:使用!取反(例如目录中包含  test.a,并且gitignore文件中包含  *.[oa],如果在文件中加入 !test.a   表明忽略除test.a文件以外的后缀名为.a或者.o的文件)

配置完.gitignore文件后,执行git status命令,会发现那三个文件不再是Untracked files了,也就完成了忽略指定文件的功能。



(3)More about .gitignore

         gitignore(5) Manual Page

[plain] view plain copy
  1. <pre></pre>  
  2. <pre></pre>  
  3. <pre></pre>  
  4. <pre></pre>  
  5. <pre></pre>  

  1.   

1、    环境

Windows XP SP3 + TortoiseGit + msysGit

 

2、  ignore files的三种方法

 

以下涉及的ignore文件均为如下格式:

'#'开始的行,被视为注释.                                                                                                                          

忽略掉所有文件名是 foo.txt的文件.

foo.txt

忽略所有生成的 html文件,

*.html

# foo.html是手工维护的,所以例外.

!foo.html

忽略所有.o .a文件.

*.[oa]

 

【方式一】

在仓库目录下新建一个名为.gitignore文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。

.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

 

【方式二】

       通过配置.git/info/exclude文件来忽略文件。这种方式对仓库全局有效,只能对自己本地仓库有作用,其他人没办法通过这种方式来共享忽略规则,除非他人也修改其本地仓库的该文件。

 

【方式三】

       通过.git/config配置文件的core. Excludesfile选项,指定一个忽略规则文件(完整路径),如下图所示。忽略规则在文件e:/gitignore.txt中(当然该文件名可以任意取)。

       该方式的作用域是也全局的。

【例子】

# 忽略*.o和*.a文件

 *.[oa]

# 忽略*.b和*.B文件,my.b除外

*.[bB]

!my.b

# 忽略dbg文件和dbg目录

dbg

# 只忽略dbg目录,不忽略dbg文件

dbg/

# 只忽略dbg文件,不忽略dbg目录

dbg

!dbg/

# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内

/dbg


相关文章推荐

git 添加 gitignore 规则无效

正常情况如果在项目开始的时候配置了.gitignore文件,对一些文件进行忽略。 进行版本控制的时候就会忽略对这些文件的跟踪,这是正常情况。特殊情况但是有一种情况是,项目开始的时候 没有将一些无关文...

Git的一些常用命令,及.gitignore的配置

要很好的掌握Git,先要明白四个名词概念: Workspace(工作区):新添加的,和修改的未add操作的。 Stage(暂存区):add操作过后,会进入暂存区。 Repository(本地仓库):c...
  • zxyudia
  • zxyudia
  • 2017年03月28日 10:55
  • 1138

添加gitignore文件没有起作用怎么办

现在搭建的项目很多都是由git管理的。然后在开发的过程中,难免会生成许多临时文件,显然这些文件是不需要提交到git上的。虽然可以手动选择提交的文件,但是这样做不仅效率低下,而且容易出错。解决这个问题的...

Github使用gitignore忽略增加指定文件

(1).gitignore介绍  在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己...
  • cscmaker
  • cscmaker
  • 2013年01月29日 20:36
  • 65802

.gitignore中增加过滤规则不起作用的解决方法

.gitignore中增加过滤规则却不起作用的解决方法。
  • get_set
  • get_set
  • 2016年11月20日 22:28
  • 1406

TortoiseGit 的使用

本文在介绍了软件安装和设置后, 写了TortoiseGit 常用的一些功能, 包括: 创建新库 添加文件及文件夹 创建分支 看分支情况及修改log 比较版本差异 合并分支 其他操作: S...
  • qwiwuqo
  • qwiwuqo
  • 2013年04月12日 14:42
  • 20330

Git之忽略文件(ignore file)

1、    环境 Windows XP SP3 + TortoiseGit + msysGit   2、  ignore files的三种方法   以下涉及的ignore文件均为如下格式: ...
  • benkaoya
  • benkaoya
  • 2012年09月01日 15:41
  • 264901

Github使用.gitignore文件忽略不必要上传的文件

(1).gitignore介绍  在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己指...
  • gjy211
  • gjy211
  • 2016年06月07日 23:30
  • 7398

Git 中忽略某些文件或者文件夹

Git 中忽略某些文件或者文件夹 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracke...
  • YLGWHYH
  • YLGWHYH
  • 2016年08月18日 22:11
  • 18201

解决Git在添加ignore文件之前就提交了项目无法再过滤问题

由于未添加ignore文件造成,提交的项目很大(包含生成的二进制文件)。所以我们可以将编译生成的文件进行过滤,避免添加到版本库中了。首先为避免冲突需要先同步下远程仓库$ git pull在本地项目目录...
  • lusyoe
  • lusyoe
  • 2016年11月29日 22:09
  • 1016
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Github使用gitignore忽略增加指定文件
举报原因:
原因补充:

(最多只允许输入30个字)