【Git之窗】(七).gitignore

一、为什么使用".gitignore"?

       先看图:

    、

     

      如上图所示,每次修改代码执行“git status”命令之后,就会看到如上这样的Console Line代码,在公司的时候当时有人负责管理可以被上传的文件类型,我自己在电脑上玩同样遇到了问题,类似于临时文件、配置文件、target文件等这些东西,我不能然他们push上去,一旦协同开发,就会出现频繁的改动以及Push操作,很烦人,所以,这就是为什么要设置.gitignore。


二、宏观介绍

      继续看图:

   

       如图所示,是我今天抽时间总结的关于.ignore的内容(XMind导图今天传不上去)。

       

       一、分类

      (1)开放模式 -- 即全局过滤机制,对所有的git都适用。

      (2)保守模式 -- 即对某个项目使用的过滤规则。

       两种ignore模式,使得.gitignore的使用可以将两种模式混搭起来,对于共性的临时文件、配置文件、目标文件,可以忽略;对特定的项目里的特定文件,可以特别去做限制,灵活性上,相比于其他CVS的这一点,Git做的非常棒。


      二、原理

       .gitignore的原理即允许文件是否被git追踪,在使用git的时候,当写"git add - 文件"的时候,会使得没有被git仓库追踪的文件被它追踪,我习惯使用“git add -A”命令,每次将所有的新文件被git仓库追踪,但是这样的话,一些本不该放到git仓库的文件就被放了进来,.gitignore的原理就是在追踪的阶段就阻止了一些文件不被追踪,后面“提交”和“推送”阶段,就根本不会走。 


      三、写法

      常见的几种写法

     (1)#  此为注释,即被git忽略

     (2)*.a  此为忽略所有.a结尾的文件

     (3)!taotao.dao 表示taotao.dao这个文件将会被git追踪

     (4)/tmp  仅仅忽略项目根目录下的tem文件,其他地方的例如src/tmp下的文件不会被忽略掉

     (5)target/ 忽略target目录下的所有文件

     (6)doc/*.txt  忽略doc目录下一层中的以.txt为后缀的文件,但是doc下两级以及多级中的.txt文件不会被忽略


      四、如何配置

      因为我的Git Bash用的是windows版本,所以我讲解windows版本下的操作方法:

      (1)在本地仓库中打开git bash,输入:

         

        如上,就会在本地仓库下新建一个.ignore的文件。


       (2)用记事本或者Notepad++编辑.ignore文件

        这里列举taotao商城里的几个问题,如图:

     

        这是"taotao-manager-web"下的文件目录,这里可见,除了"src"和“pom.xml”是值得我上传到git上去的,别的都不必被git追踪,那就需要将其设置到gitignore中了。

# -- 开放模式  -- vincent
# -- 文件夹   
/target/
/build/
/Doc/
/tst/
/RemoteSystemTempFiles/ 

# -- 固定文件
.gitignore
*.exe
*.project
*.tern-project
*.classpath
*.setting

# -- 临时文件(脚本文件)
*.log
      如上,是我的项目中,设置的将会被过滤掉的文件类型。而且注意:. gitignore只适用于尚未添加到Git库的文件。如果已经添加了,则需用git rm移除后再重新commit。
      这个时候,上述这些文件就永远不会被上传到git仓库了。


      Attention:

      有一种特殊的情况:“一个文件夹"My Photos"下有很多文件夹和文件,而我只想跟踪其中的一个文件"celine_and_me.png”,这个时候怎么办?

      这个时候,就要用到开放模式和保守模式相互结合的方式了。

#先把"My Photo"下的所有文件屏蔽
/My Photos/

#再把其中的"celine_and_me.png"放开
!celine_and_me.png
      如上代码所示,就实现了我需要的功能。

      从本质上讲,开放或者共享两种模式,更多的就是对范围的控制,这样就理解清楚了。


     That's all.(今天去游泳,胳膊有点酸酸的,就写写博客吧 ^ v ^)

     




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值