iOS Git版本控制忽略部分文件方法
1.在项目中添加.gitignore文件
.gitignore文件可以直接从https://github.com/github/gitignore上面下载,里面包含了各个语言对应的.gitignore文件
1.1、在项目中设置忽略文件
将从github上荡下来的对应的.gitignore文件(Objective-C.gitignore,就是OC项目需要的忽略文件)放到项目根目录,并且改名为.gitignore(去掉'.'之前的语言标识字符串)
1.2、配置添加所需要忽略的文件或者文件类型
使用命令vim .gitignore
打开.gitignore文件,回车后会出现下图
可以在这里添加需要忽略的文件和文件类型,这个文件每一行保存了一个匹配的规则例如:
此为注释 – 将被 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
就是我自己起的名字:
至此之后check out 下来的项目都会自动应用这个.gitignore_globalaaaa文件中所忽略的文件。
补充
命令git config --global core.excludesfile ~/.gitignore_globalaaaa
的效果其实就是修改了在用户目录下的.gitconfig文件
打开后
Paste_Image.png
就是增加了圈中的一行命令
其实可以直接将.gitignore中的内容直接写到.gitconfig文件中,效果也一样的。只不过这样会比较混乱一点。还是推荐上面详细叙述的方法来设置Git全局忽略文件。
参考
iOS开发的git忽略文件(.gitignore)
Git 忽略一些文件不加入版本控制
关于 git 删除 .DS_Store