美文网首页技术类iOS学习笔记2017-3-29其他
iOS Git版本控制忽略部分文件方法

iOS Git版本控制忽略部分文件方法

作者: JasonEVA | 来源:发表于2016-08-19 15:29 被阅读3442次

    1.在项目中添加.gitignore文件

    .gitignore文件可以直接从https://github.com/github/gitignore上面下载,里面包含了各个语言对应的.gitignore文件

    1.1、在项目中设置忽略文件

    将从github上荡下来的对应的.gitignore文件(Objective-C.gitignore,就是OC项目需要的忽略文件)放到项目根目录,并且改名为.gitignore(去掉'.'之前的语言标识字符串)

    1.2、配置添加所需要忽略的文件或者文件类型

    使用命令vim .gitignore打开.gitignore文件,回车后会出现下图

    Paste_Image.png
    可以在这里添加需要忽略的文件和文件类型,这个文件每一行保存了一个匹配的规则例如:
    此为注释 – 将被 Git 忽略
                *.a       # 忽略所有 .a 结尾的文件            
                !lib.a    # 但 lib.a 除外            
                /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO           
                build/    # 忽略 build/ 目录下的所有文件            
                doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    

    完事后保存退出

    1.3、将.gitignore文件提交到仓库

    git add .gitignore
    git commit -m "添加项目忽略文件"
    git push
    

    提交.gitignore文件的目的主要是保证其他开发者提交的时候也会自动筛选掉不需要的文件,因为已提交到仓库的文件再设置.gitignore文件中忽略是无效的,需要先将其移除版本控制后,.gitignore文件才会生效。具体方法见下文。

    2.关于 git 将文件或文件夹移除版本控制

    git rm -r -n --cached "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
    git rm -r --cached  "bin/"      //最终执行命令. 
    git commit -m" remove bin folder all file out of control"    //提交
    git push    //提交到远程服务器
    

    如果是要忽略一种类型的文件(如.DS_Store文件),将bin/换成*.DS_Store即可。

    3.设置Git全局忽略文件方法

    配置全局忽略文件的我们就不必给每一个项目添加单独的忽略文件
    3.1 进入用户目录下,将第一步中配置好的.gitignore文件拷贝到用户目录下,将这个文件改个名字,名字随意,自己好认就行
    3.2 执行命令git config --global core.excludesfile ~/.gitignore_globalaaaa
    效果如下图.gitignore_globalaaaa就是我自己起的名字:

    Paste_Image.png

    至此之后check out 下来的项目都会自动应用这个.gitignore_globalaaaa文件中所忽略的文件。

    补充

    命令git config --global core.excludesfile ~/.gitignore_globalaaaa的效果其实就是修改了在用户目录下的.gitconfig文件

    Paste_Image.png
    打开后
    Paste_Image.png
    就是增加了圈中的一行命令
    其实可以直接将.gitignore中的内容直接写到.gitconfig文件中,效果也一样的。只不过这样会比较混乱一点。还是推荐上面详细叙述的方法来设置Git全局忽略文件。

    参考

    iOS开发的git忽略文件(.gitignore)
    Git 忽略一些文件不加入版本控制
    关于 git 删除 .DS_Store

    相关文章

      网友评论

      • RBNote:您写的太笼统了,不好操作,比如 vim .gitignore这个命令运行的结果就不对。
        还有就是改为 .gitignore 提示 :您不能使用以点 "."开头的名称,因为这些名册已被系统预留。请选取其他名称
        Super_Yi:我也遇到了这个问题

      本文标题:iOS Git版本控制忽略部分文件方法

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