gitignore文件「建议收藏」

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://javaforall.net/107834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS如何增加虚拟内存?「建议收藏」

    CentOS如何增加虚拟内存?「建议收藏」swap分区的创建1、查看磁盘使用情况2、添加Swap分区使用dd命令创建名为swapfile的swap交换文件(文件名和目录任意):3、对交换文件格式化并转换为swap分区4、挂载并激活分区5、查看新swap分区是否正常添加并激活使用6、修改fstab配置,设置开机自动挂载该分区7、查看是否已经使用了交换内存更改Swap配置查看当前的swappiness数值…

    2022年9月27日
    4
  • Vim编辑完如何保存退出

    Vim编辑完如何保存退出编辑完按Esc退出编辑模式此时输入::wq保存后退出:wq!强制保存后退出:w保存但不退出:w!若文件属性为只读时,强制写入该文档:q不保存并退出:q!不保存并强制退出…

    2022年8月24日
    5
  • 如何利用微信做营销?

    如何利用微信做营销?

    2021年8月28日
    49
  • Java代码生成器原理和编写

    Java代码生成器原理和编写代码生成器的原理其实是非常简单的,主要可以分为下面两个步骤: 数据库元数据抓取 模板输出 第一步数据库元数据信息抓取这里给大家提供些简单易于操作的思路,我们找到数据库连接中的information_schema这个库,这个库就是元数据库,保存着其他库以及库表的信息,并且一直维护.我们想要做到根据数据库去动态生成代码,那么就需要拿到生成代码的对应的数据库,表,以及字段等信息.下面给大家提供一下获取数据库,获取数据库表,获取数据库表字段的SQL语句获取连接中的所有数据..

    2022年5月4日
    149
  • SQL 子查询 EXISTS 和 NOT EXISTS[通俗易懂]

    SQL 子查询 EXISTS 和 NOT EXISTS[通俗易懂]MySQLEXISTS和NOTEXISTS子查询语法如下:SELECT…FROMtableWHEREEXISTS(subquery)该语法可以理解为:将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE或FALSE)来决定主查询的数据结果是否得以保留。MySQLEXISTS子查询实例下面以实际的例子来理解EXISTS子查询。下面是原始的数据表:art

    2025年6月11日
    3
  • 保护ASP.NET 应用免受 CSRF 攻击

    保护ASP.NET 应用免受 CSRF 攻击

    2021年9月11日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号