gitignore文件

本文仅阐述iOS开发下的对应解决方案

或许你会遇到以下的问题 :

使用了第三方库,或许量少,但是随着迭代,需求的增加,依赖的第三方会越来越多

第三方库多起来,导致整个项目占用空间高达数百M,单单clone就需要一个下午了

那么,这个时候就需要用到git 的 ignore功能了

介绍

gitignore:使用一个文件指定了上传的黑名单,使我们push的时候把符合该规则的路径都忽略掉

为什么要这么做

第三方库,都在git上存有的,也就是说,它们在网上都已经有自己的空间了,如果我们把他们都push到自己的服务器,那么就是创建了另外的空间存放着他们的备份,那么,如果是几十个项目都用到同一个库呢?那么冗余度会很高

教程

太简单就不上图了

创建gitignore文件

打开terminal (终端)

输入指令:cd '项目目录'

输入指令:vim .gitignore

把 附文代码(本文底部) copy 到终端

按 esc 键 ,输入指令:wq(指令意思:保存并返回上一层)

此时,可以输入指令sudo ls查看目录下是否存在gitignore,有则表示成功

如果之前没有提交过第三方到远端,则按照正常情况,commit一下再push到远端就完成了

如果之前提交过得话,则输入指令git rm -r Pods,然后再comit,再push

效果检验

重新clone一份这个项目到本地,你会发现这个项目中没有了Pods这个文件夹,运行项目也会报错。

~使用终端, cd 到项目目录 ,执行pod install试试- 0 - 大功告成

附文:

# Xcode

.DS_Store

*/build/*

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

xcuserdata

profile

*.moved-aside

DerivedData

.idea/

*.hmap

*.xccheckout

*.xcworkspace

!default.xcworkspace

#CocoaPods

Pods

!Podfile

!Podfile.lock



我该如何编写 gitignore 文件

gitignore文件中, 一行对应一条规则

空行被自动忽略, 可以随便插入若干行空行, 你可以作为不同类型规则的分割线

以#开头的规则被认为是注释, 会被自动忽略. 如果你想过滤一个 以#开头的文件, 可以在#之前加一个 反斜杠\, 如

# 这是注释, 下面一条规则会过滤 #.txt 这个文件

\#.txt

会自动去除规则前后的空格, 如果你想要过滤文件名中头尾含有空格的文件, 用 反斜杠\将规则包裹起来, 如

# 过滤" 123.txt" 这个文件

\ 123.txt\

!开头的规则表示例外规则,会将符合规则的文件重新加入版本控制中. 不过如果某文件的某个祖先文件夹被过滤了, 是不可能通过单独写一条例外规则来让这个文件重新加入版本控制中的. 如果需要过滤一个以 感叹号开头的文件, 需要在!之前加上一个反斜杠\, 如

# 过滤所有后缀为 .a 的文件

*.a

# 但是保留 privatelib.a 文件

!privatelib.a

# 过滤 build 文件夹

build/

# 下面这句是无意义的, 因为父文件夹已经被过滤了

build/a.class

# 过滤 "!.txt" 文件

\!.txt

如果规则以斜杠/结尾, 代表过滤掉这个文件夹及其所有子文件及子文件夹, 如

# 过滤 build 文件夹及下面所有的文件和文件夹

build/

普通规则, 如

# 过滤文件名为 test.txt 的文件

test.txt

# 过滤所有 .a 结尾的文件

*.a

# 过滤文件名只有一个字符的txt 文件

?.txt

# 过滤 testa.txt, testb.txt

test[ab].txt

# 过滤 testc.txt 到 testz.txt

test[c-z].txt

# 仅仅过滤项目根目录下的 TODO 文件,不包括 /A/TODO

/TODO

# 过滤 doc/notes.txt 但不包括 doc/server/notes.txt.

# 相对路径以当前的 .gitignore 文件为起点,

# 如果是 私有配置 或是 全局配置, 则以项目根目录为起点

doc/notes.txt

# 过滤 package 目录下所有的 readme.md文件

package/**/readme.md

转载于:https://juejin.im/post/5a30f675f265da432b4ad0e5

你可能感兴趣的:(git,xcode,移动开发)