最近项目使用了SVN,为管理代码起到了很好的作用!但是,对于很多初步使用着,还是非常不容易!
公司使用的是Smart SVN 客户端。
Smart SVN 这个工具总体还是挺不错的!
在代码的提交和获取上纠结过一整子,纠结过了,就好了。
废话不说,行动!
一、从服务器上获取(拉取)代码
Project------>Check Out
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="371" width="690">
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="371" width="690">
二、提交代码到服务器
通过上述的操作,在本地指定的目录下,就存在了从服务器上下载下来的代码文件。
提交代码,就相对简单了。
1.右击你要提交的代码,进行相应操作:
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="455" width="246">
2.选中,要操作的文件夹,使用快捷按钮:
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="49" width="584">
如果是你一个人对代码进行操作,那一般不会冲突。如果多个人同时操作一个项目,那么,就要防止冲突。
一般可以这么操作:
1.从服务器Update到最新的代码到本地。
2.修改本地代码(工作ing……)。
3.提交代码前,先Update一次(因为被人可能已经提交过代码了,为避免本地版本过低)。
4.Commit自己的代码,到服务器。
三、常见问题
1.Smart SVN 无法上传*.a文件。
默认情况下,Mac上SVN配置文件,是不允许上传.a文件的,需要单独配置。
使用Smart SVN上传.a文件失败时,可以进行查看,并且重新单独上传。
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="127" width="690">
这样,就能看到上传失败的文件。
选中指定要上传的.a文件,并且点击:
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="381" width="690">
当然,可以设置电脑上的关于SVN的配置文件。来修改,让Smart SVN 允许上传.a文件。
2.修改电脑上的SVN配置文件。
打开~/.subversion/config所在的文件夹。
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件">
用记事本打开config文件,找到global-ignores项。global-ignores项列出的就是不允许上传的文件格式。如果你需要允许上传.a文件,那么,就将*.a删除掉。
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件">
当然,我们也可以,通过Smart SVN 来进行配置。
关Project----->Settings
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="298" width="690">
一般可以自定义为:
*.o
*.lo
*.la
*.al
.libs
*.so
*.so.[0-9]*
*.pyc
*.pyo
*.rej
*~
#*#
.#*
*.swp
.DS_Store
建议,将Project----->Default Settings 也设置成一致的。
3.Smart SVN 上传.a文件的另一种方式。
其实,还可以将某种类型的文件,设置成Binary类型,这样,SVN就会忽略对其的检查,直接按照Binary类型来对待(SVN允许上传Binary)。通过,这种方式来达到,直接上传.a文件的目的。
SVN-使用Smart SVN 管理Xcode项目文件" title="Smart SVN-使用Smart SVN 管理Xcode项目文件" height="298" width="690">
4.将本地代码,脱离SVN控制。
其实,每个被SVN控制的文件夹,都有一个隐藏的文件*.svn,也就是记录和管理该目录下的文件。
可以通过,控制台命令,将指定目录下的.svn文件,全部删除掉,这样,就脱离了SVN。
sudo find /XXX/XXX/xxx -name ".svn" -exec rm -r {} \;
将指定目录下所有的.svn文件删除掉,这样,SVN就无法管理该代码。
总结:其实,Smart SVN就是图形界面下的SVN管理。我们完全可以用命令行来管理!很多问题,只要了解原理,都可以迎刃而解。