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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker卸载_退出docker容器命令

    Docker卸载_退出docker容器命令##1)进入docker的安装目录cd/usr/local/bin/##2)删除与docker相关的文件夹sudorm-rfdocker*sudorm-rfcom.docker.*sudorm-rfhub-tool*sudorm-rfkube*sudorm-rfvpnkit*完成!

    2022年9月8日
    1
  • java.lang.noclassdeffounderro_cannot resolve reference to bean

    java.lang.noclassdeffounderro_cannot resolve reference to bean1.首先创建项目选择版本号跟要导入的包创建项目之后,导包的时候出现了问题找了半天问题我发现是spring-cloud-starter-netflix-eureka-server默认的版本号太高,然后去Maven仓库换了个版本低的,就是下面这个<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netfl

    2022年8月20日
    3
  • PyPDF2详解

    PyPDF2详解工作中可能会涉及处理pdf文件,PyPDF2就是这样一个库,使用它可以轻松的处理pdf文件,它提供了读、写、分割、合并、文件转换等多种操作。官方地址:http://mstamy2.github.io/PyPDF2/安装1.RPM式系统(Redhat、CentOS)1pipinstallpypdf22.DEB式系统(Deb…

    2022年6月23日
    28
  • Java 技术是什么?

    Java 技术是什么?Java技术既是一种高级的面向对象的编程语言,也是一个平台。Java技术基于Java虚拟机(Javavirtualmachine,JVM)的概念——这是语言与底层软件和硬件之间的一种转换器。Java语言的所有实现都必须实现JVM,从而使Java程序可以在有JVM的任何系统上运行。Java编程语言(Javaprogramminglanguage)与众不同之

    2022年7月8日
    19
  • ROS安装教程|从零开始[通俗易懂]

    ROS安装教程|从零开始[通俗易懂]前两天把自己的ROS搞坏了,不知道咋修复了,只好重装一次。想到大家可能还有从来没接触过ROS的,不知道怎么安装,我就记录一下这次的重装过程安装VMware,这个我已经装了,就不细说了,管家公众号上有安装教程 下载ubuntu镜像文件Indexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站|TsinghuaOpenSourceMirrorIndexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站,致力于为国内和校

    2022年9月3日
    3

发表回复

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

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