Xcode 使用Git User Interface State 问题

本文介绍了如何在Xcode项目中正确配置.gitignore文件来排除不必要的文件,如UserInterfaceState.xcuserstate等,这些文件通常不需要纳入版本控制系统。文章还提供了具体的命令行操作步骤及.gitignore文件的示例配置。

提交代码时,一直提示有未提交的文件,发现UserInterfaceState.xcuserstate这个文件一直在自动更新,即使我的代码没改变,提交时也有它。后来百度到这是Xcode自带的文件,不应该被提交到版本管理中
(这篇文张中的一段:iOS开发那些事-Git在Xcode中的配置与使用

其中HelloWorld.xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和xcuserdata,它们是与用户有关的。Git中有一个.gitignore配置文件,在这个文件中可以设置被忽略的文件。

后来百度到,在终端键入下面3句,可以在提交代码时忽略掉UserInterfaceState.xcuserstate文件

git rm --cached [YourProjectName].xcworkspace/xcuserdata/[YourUsername].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"
git push

但前提是:

得先在工程目录(和.git仓库同路径的目录下)配置有 .gitignore 文件,它才能生效!我今晚就入了这个坑,因为没配置 .gitignore文件,这3句代码一直无效。所以要先配置 .gitignore文件。

新建.gitignore然后再里面声明要忽略的文件夹或者文件,必须使用终端

  1. 在需要创建 .gitignore 文件的文件夹(在项目目录下即.git同目录的命令行下)。

    进入命令行,进入项目所在目录。

  2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。

然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。

直接复制下面的内容到你的.gitignore文件即可。注意,这个配置是给iOS开发者使用的。

# 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文件,
然后在终端执行前面那3句操作,
再试下提交代码,就没有UserInterfaceState.xcuserstate文件了。

转载于:https://my.oschina.net/jimolengsha/blog/998610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值