关闭

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

3633人阅读 评论(0) 收藏 举报
分类:

(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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43528次
    • 积分:594
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:85篇
    • 译文:1篇
    • 评论:1条