xCode 提交代码到 svn 服务器

前言,最近iOS 项目需要将代码提交到 svn 服务器上。在网上找了很多方法,大多是 xCode 以前的版本。所以在成功提交代码后,记录下来,方便以后回顾也与大家共勉,有错误之错,请留言指出,不甚感谢。

环境:
1、mac系统:OS X EI Capitan 10.11.2;
2、xCode Version 7.2 (7C68);
3、svn 服务器已建好(服务器的搭建就不做描述了,我的是 windows 系统下的服务器,提交代码与SVN服务器无关,确定svn服务器能用就好)

操作:
一、配置前检查
1.1、检查SVN 是否安装,mac 自带SVN,如果未安装,请自行安装,安装方法不在此做说明。
打开 终端 输入命令=> svn --version
显示信息:
svn: invalid option character: e
Type 'svn help' for usage.
说明已安装好svn。
如果显示信息:
svn: command not found
说明没有安装svn。

1.2、用SVN 命令去信任 svn 服务器。(这一点不知道是不是所有的svn 服务器都需要信任,我的是需要这步操作,你也可以暂不操作这一步,以后再操作也不影响)
1.2.1、打开终端输入命令=>svn ls svn服务器地址及目录
显示信息:
Error validating server certificate for 'https://192.168.1.177:8443':
- The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
- The certificate hostname does not match.
Certificate information:
- Hostname: yanfafuwuqi
- Valid: from Thu, 06 Jun 2013 03:46:19 GMT until Sun, 04 Jun 2023 03:46:19 GMT
- Issuer: yanfafuwuqi
- Fingerprint: f1:05:37:2a:b0:0b:15:ec:d0:44:4a:c2:b9:38:db:c3:cb:58:02:b5
(R)eject, accept (t)emporarily or accept (p)ermanently?
1.2.2、输入命令=>p
显示信息:
Authentication realm: <https://192.168.1.177:8443> Subversion Repositories
Password for 'mac用户名':
1.2.3、输入mac用户的密码
显示信息:
Authentication realm: <https://192.168.1.177:8443> Subversion Repositories
Username:
1.2.4、输入 SVN 用户名回车,再输入密码,这时终端窗口中会显示你连接的SVN 服务器目录下的内容。

二、检出,可以用命令行检出或用xCode检出,二选一就可以了,命令行检出简单明了,建议用命令行检出
用命令行检出:
cd 到工作目录
=>svn co [svn 地址及代码根目录] [本地目录 . 代表当前目录]
这时若未信任服务器会提示要信任服务器,执行这行命令后,在本地目录中会多出一个隐蔽的文件夹 .svn 这个是 svn 的配置信息,在项目检出后,就可以新增,修改代码。
用xCode 打开项目,第一次进行上传时会弹出 svn 用户及密码输入框

用 xCode 检出:
2.1、打开 xCode,选择 Source Control -> Check Out...    弹出窗口:


2.2、输入 svn 服务器地址及你要检出的目录,点击 Next,这时有可能会弹出信任 SVN服务器证书的窗口

如果点击 Trust 只是这一步中信任,以后在提交代码时还会弹出来让你选择;这时你可以去按前面的 【1.2、用SVN 命令去信任 svn 服务器】 这一步操作信任 svn 服务器,不再弹出窗口。

2.3、类型选择 Subversion, 输入你的svn用户名及密码。


2.4、选择代码在本地存放的位置和文件名,点击 Download。


2.5、如果这个文件夹已存在,会提示是否替换。注意,如果 选择替换,会把你原文夹彻底删除,这里的选择要么是替换,要么你换个位置再保存。


三、检入【检入的项目所在的目录必须是从SVN 检出的,如果不是,请按【二、检出】这一步,先检出项目存放目录】
3.1、打开项目,选择 Source Control -> Commit...    弹出窗口:

有可能会弹出未验证书的窗口

点击 Continue,或去执行【1.2、用SVN 命令去信任 svn 服务器】这一步,也有可能会弹出信任证书的窗口,点击 Trust,或去执行【1.2、用SVN 命令去信任 svn 服务器
3.2、先择要上传的文件,点击 Commit * File; * 是你要提交文件的个数
这时有可能会弹出窗口

这个不用着急,你在提交窗口中输入些“版本说明”再点击 Commit * File。就可以了。
到这里你就成功使用SVN 管理你的代码了。

其他说明:检出添加svn 库是一个添加svn 库的方法,svn 库也可以用其他方法添加,这里就不做描术,可以自己研究。

一些其他问题:
如果弹出窗口说“The working cope "xxxx" failed to
error: XXXXXXXXXX to git.”
这个错误是因为 xCode 不知道把代码提交到哪个服务器,因为它自带有 SVN 和 GIT 两代码管理器,删除掉 你项目中的 .git 文件夹就可以了。
这个文件夹是隐蔽的,我是用终端删除的
打开终端,cd 到你项目根目录下
执行=>ls -a
这时你会看到 .git 这个目录
执行=>rm -rf .git
就删除掉,这时你再提交就没问题了。

【注:一些使用中的问题】
一、不能提交 .a 文件:
1、打开终端,  执行命令=> vi ~/.subversion/config
2. 然后, 在[miscellany]项找到这个串: 
# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
#   *.rej *~ #*# .#* .*.swp .DS_Store
修改为【把*.a 文件的过滤删除掉】:
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]*  *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store
保存退出。并不是马上生效了,我重启了 xCode 并过了一段时间才在COMMIT... 的窗口中看到.a 文件可以提交。所以最好重启下机器。



--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : [email protected]
qq     : 1035862795
敲门砖: 代码谱写人生


猜你喜欢

转载自binary-space.iteye.com/blog/2274467