iOS项目的.gitignore配置

image

最近使用 .gitignore 的时候,遇到了一个坑,解决之后,重新复习了一下关于iOS的.gitignore,再次总结了一下~

前言

iOS 项目多人协作开发的时候,一言不合就有冲突。好好分析一下,这里面有坑,而`.gitignore就是一个避免冲突的利器。

我们在使用 git 的过程当中,不是任何文件都需要 commit 到本地或者远程仓库的,比如 Mac 的.DS_Store,一些第三方框架类库文件,用户个人元数据等等,都没有必要提交。所以,我们就用到了.gitignore,接下来我们来介绍一下这一利器~

教程

1.创建gitignore文件

打开terminal (终端)
输入指令: cd '项目目录'
输入指令: vim .gitignore
把 附文代码(下文中有) copy 到终端
按 esc 键 ,输入指令 :wq (指令意思:保存并返回上一层)

2.查看gitignore文件,方法1或2都可以
  • 1>输入指令 sudo ls 查看目录下是否存在gitignore,有则表示成功

  • 2>输入指令,在 Finder 窗口中显示隐藏的文件和文件夹defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
    隐藏原本的隐藏文件和文件夹defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder

3.提交项目到远端

如果之前没有提交过项目到远端,则按照正常情况,commit一下再push到远端就完成了
如果之前提交过得话,则按下面指令提交

# 注意有个点“.” 清除缓存
git rm -r --cached .
git add .
git commit -m "update .gitignore"
git push origin master
4.效果检验

重新clone一份这个项目到本地

git clone<版本库的网址>  
git clone <版本库的网址><本地目录名>

你会发现文件夹下 .gitignore忽略的内容都没有,项目不可以运行,这时使用终端, cd 到项目目录 ,执行

pod install --verbose --no-repo-update

下载完成,就OK了~

5.gitignore 代码附文:
  • 1.我项目中提取出来的
# Xcode

.DS_Store

## Build generated

build/

DerivedData/

## Various settings

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

xcuserdata/

## Other

*.moved-aside

*.xccheckout

*.xcworkspace

!default.xcworkspace

## Obj-C/Swift specific

*.hmap

*.ipa

*.dSYM.zip

*.dSYM

# CocoaPods

Pods

!Podfile

!Podfile.lock

# Carthage

Carthage/Build

# fastlane

fastlane/report.xml

fastlane/Preview.html

fastlane/screenshots

fastlane/test_output

# Code Injection

iOSInjectionProject/

  • 2.到gitignore.io去选择自定义配置

gitignore.io 输入你需要配置的语言,会帮助你自动生成一份配置。比如,输入Objective-C和Swift会帮助你生成下面的配置。

  • 3.去github下载

从github下载,gitignore,选取Objective-C.gitignore或者Swift-C.gitignore

gitignore中,屏蔽整个目录Pods,但是保留Pods下的子目录B,这时应该怎么处理呐?

1.看取了这篇文章 gitignore中,如何屏蔽整个目录Pods,但是保留Pods下的子目录B

试了一下,无法解决,QAQ~

2.找到这个方法,也证明了方法1是错误的。但是Pods里面那么多库,按照此方法岂不是很麻烦~

若test下有test1,test2,test3文件。要track test3,则.gitignore文件为:
test/test1
test/test2
!test/test3
若为:
test/
!test/test3
则不能track test3。

3.最后,看了关于 .gitignore 的一些简介之后,终于让我找到了方法:

Pods/*
!Pods/kerkee/ 
!Pods/LBXScan/

Amazing,感觉整个人都好了~

参考:

//www.greatytc.com/p/4ed175f13e97

https://bingozb.github.io/37.html

https://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源:Git由浅入深之操作与指令作者:惊鸿三世(转载已获得原作者许可,如需转载请与原作者联系) 本篇正式开始介绍G...
    极乐君阅读 1,732评论 9 67
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,253评论 19 139
  • 输入 y ,创建 git_hug 目录No githug directory found, do you wish...
    风花花阅读 2,024评论 0 4
  • 鲁迅 广平兄: 今天收到来信,有些问题恐怕我答不出,姑且写下去看。 学风...
    失落的美好阅读 823评论 0 3
  • 从前 你走的那天 秋夜 下着雨 依稀记得我红肿的眼 弄花了的妆 你背过身没有说道别 后来 我遇见你 三月 下着...
    咪咕噜摩西阅读 181评论 0 0