zoukankan      html  css  js  c++  java
  • .gitignore(转载)

        转自:http://blog.csdn.net/liuqiaoyu080512/article/details/8648266

        git 可以管理所有文件的变更, 但并不是所有文件都有意义。

       

      大部分二进制文件没有意义

      比如说 VC 工程的 Debug 和 Release 文件夹下的文件, 或者 java 项目的 bin 文件夹中的 class 文件, 这些文件都是基于源代码生成的, 只要有源代码就能生成出来,所以版本管理的时候应该忽略它们。

      有些文本文件也没有意义

      比如说 VC 工程中的 .plg 文件, 它是个 html 格式的文本文件, 保存了编译后产生的 error 和 warning, 显然没有进行版本管理的必要。

      有些二进制文件不能忽略

      比如说 MFC 工程的 resToolbar.bmp, 是工具栏的位图文件,二进制文件, 如果忽略,工程就不完整了,别人 clone 你的版本库后用不了。 而这些文件一般不频繁变更,进行版本管理也不浪费空间。

          总之,能从别的文件生成的文件就应该被忽略。 要忽略这些文件,一般在 .gitignore 中设置规则, 如下是一篇对 .gitignore 介绍得很好的文章(转自 git 创建 .gitignore 文件 建立项目过滤规则):

         

    1. 在项目根目录下建立 .gitignore 文件

    2. .gitignore文件过滤有两种模式,开放模式和保守模式

      1. 开放模式负责设置过滤哪些文件和文件夹,eg:

        过滤文件夹设置:

        /mtk/       表示过滤这个文件夹

        过滤文件设置

        指定过滤某种类型的文件:

        *.zip
        *.rar
        *.via
        *.tmp
        *.err

        指定过滤某个文件:

        /mtk/do.c
        /mtk/if.h
      2. 保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。 跟踪某个文件夹

        !/plutommi/mmi

        跟踪某类文件

        !*.c
        !*.h

        跟踪某个指定文件

        !/plutommi/mmi/mmi_features.h
      3. 配置.gitignore 的简易原则 : 采用共享模式与保守模式结合配置的办法。eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式 把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。
      4. 我做mtk项目用到的 .gitignore 文件的具体配置如下:
        #######开放模式############
        
        ###############
        #    folder   #
        ###############
        /_souceInsight_/
        /build/
        /MoDIS/
        /Doc/
        /mtk_lib/
        /scripts/
        /header_temp/
        /tools/AudioResGen/
        /tools/GLBOptionSwtichRef/
        /tools/GMSL/
        /tools/MinGW/
        /tools/MSYS/
        /tools/NewMMIResourceTool/
        /tools/NVRAMStatistic/
        /tst/
        /verno/
        /plutommi/tool/
        /plutommi/Customer/ResGenerator/
        /plutommi/Customer/CustResource/
        /plutommi/Customer/LcdResource/
        /plutommi/Customer/Images/
        /plutommi/mmi/Framework/EventHandling/EventsInc/mmi_menu_handlers.h
        /vendor/font/MTK/official/project/plutommi/content/inc/
        /vendor/font/MTK/official/project/plutommi/content/src/
        
        
        
        ###############
        #  fixed file #
        ###############
        .gitignore
        *.exe
        *.txt
        *.def
        *.dsp
        *.lib
        *.doc
        *.dll
        *.lnt
        *.pm
        *.xls
        *.dbg
        *.DBG
        *.o
        *.plg
        *.keep
        
        
        ###############
        #  temp file  #
        ###############
        ~*
        *.log
        *.cmm
        *.men
        *.ini
        *.fig
        *.cmp
        *.tmp
        
        ###############
        #    script   #
        ###############
        *.bat
        
        #########保守模式############
        !/plutommi/Customer/CustResource/PLUTO_MMI/
        !/plutommi/Customer/LcdResource/MainLcd128X160/
        !/plutommi/Customer/Images/PLUTO128X160/image.zip
        !/vendor/font/MTK/official/project/plutommi/content/inc/MainLcd128X160/
        !/vendor/font/MTK/official/project/plutommi/content/src/MainLcd128X160/

        .gitignore 不支持正则表达式,但是也基本够用了。

        一般 VC 在工程根目录下设置如下 .gitignore 就行:

            /Debug  
            /RELEASE  
            *.ncb  
            *.plg  
            *.opt  
            *.aps  

        eclipse 在项目根目录下设置如下 .gitignore 就行:

        /bin/  

        需要注意的是:.gitignore 中的规则只对 未提交 且 未缓存 的文件有效。因此,如果在"未缓存的改动"中发现有需要忽略的文件, 马上修改 .gitignore,再重新扫描就会发现该文件被忽略了。

  • 相关阅读:
    资源 | 辟谣平台
    数据分析常用思维
    数据分析常用工具
    杂谈 | 标准化和个性化
    杂谈 | 学以致用
    杂谈 | 工具思维的陷阱
    杂谈 | 习得性无助&习得性乐观
    spark连接mysql
    spark累加器
    java操作excel数据写入map集合并按照value排序
  • 原文地址:https://www.cnblogs.com/lance-ehf/p/3863973.html
Copyright © 2011-2022 走看看