美文网首页
Git使用Gitignore建立项目过滤规则

Git使用Gitignore建立项目过滤规则

作者: 幻凌风 | 来源:发表于2017-07-11 20:36 被阅读42次
    在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。
    
    Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。
    
    Git中提供两种过滤机制,一种是开放模式(全局过滤机制,即对所有的git都适用);另一种是保守模式(针对某个项目使用的过滤规则)。个人倾向于第二种。
    
    (一)开放模式负责设置过滤哪些文件和文件夹
    
    例如:
    
    过滤文件夹设置:
    
    /maigade/
    
    过滤文件设置
    
    指定过滤某种类型的文件:
    
    *.zip
    
    *.rar
    
    *.via
    
    *.tmp
    
    *.err
    
    指定过滤某个文件
    
    /maigade/do.c
    
    /maigade/if.h
    
    (二)保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。
    
    跟踪某个文件夹
    
    !/plutommi/mmi
    
    跟踪某类文件
    
    !*.c
    
    !*.h
    
    跟踪某个指定文件
    
    !/plutommi/mmi/mmi_features.h
    
    (三)配置.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/
    
    1:# 此为注释  ,将被git忽略
    
    2:*.a  忽略所有.a结尾的文件
    
    3:!lib.a  但lib.a除外
    
    4:/todo  仅仅忽略项目根目录下的todo  文件,不包括subdir/todo
    
    5:build/    忽略build/目录下的所有文件
    
    6:doc/*.txt  忽略doc/notes.txt,但不包括doc/server/arch.txt
    
    然后调用git add. ,执行 git commit即可。
    
    备注:
    
    .gitignore只适用于尚未添加到Git库的文件。如果已经添加了,则需用git rm移除后再重新commit。
    

    相关文章

      网友评论

          本文标题:Git使用Gitignore建立项目过滤规则

          本文链接:https://www.haomeiwen.com/subject/gyamhxtx.html