创建本地SVN
通常SVN作为一种服务,是在服务器上架设,供用户通过网络访问使用。但如果只是自己日常使用,完全可以架设在本机上,不需要启动后台程序,通过文件的方式访问即可。
建立本地SVN非常简单,一行命令即可:
TerwerdeMac-Pro:~ terwer$ cd Documents
TerwerdeMac-Pro:Documents terwer$ mkdir repos
TerwerdeMac-Pro:Documents terwer$ cd repos
TerwerdeMac-Pro:repos terwer$ pwd
/Users/terwer/Documents/repos
TerwerdeMac-Pro:repos terwer$ svnadmin create /Users/terwer/Documents/repos
导入项目到SVN库
要导入一个项目时:
svn import /Users/terwer/Documents/iOSWorkplace/YFStockiOS file:///Users/terwer/Documents/repos
或者导入到远程SVN
svn import /Users/terwer/Documents/iOSWorkplace/YFStockiOS http://192.168.1.103:81/svn/yflcpt/YFStockiOS --username=terwer --password=123456 -m "Init commit"
注意要使用绝对路径。
如果出现vi错误,执行下面的命令即可:
export SVN_EDITOR=vi
使用GIT检出项目
checkout这个项目时:
git svn clone file:///Users/terwer/Documents/repos
或者
git svn clone http://192.168.1.103:81/svn/yflcpt/YFStockiOS
这时候,可能出现错误:
Can’t locate SVN/Core.pm in @INC (you may need to install the SVN::Core module)
大致意思是Perl的SVN没有正确和Xcode中的SVN链接起来(升级完Yosemite之后可能出现的问题)。我的本地环境MAC OS X Yosemite 10.10.5 (14F27)
。链接完后提示另一个错误:Can’t locate loadable object for module SVN::_Core in @INC
。这说明其它组件没有被正确加载,执行另一条链接命令。具体命令如下:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/SVN /System/Library/Perl/Extras/5.18/SVN
sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/auto/SVN/ /System/Library/Perl/Extras/5.18/auto/SVN
重要更新
对于OS X EI Capitan,上面方案还是不行,那么两步解决:
1、如果提示你找不到相关的原始文件,需要安装下command line tool,通过命令:xcode-select --install
即可安装。
2、接下来参考我的博客:解决OS X El Capitan下git-svn无法使用的问题 。
添加远程GIT地址
给本地仓库添加远程地址
git remote add origin https://git.oschina.net/terwergreen/YFStock.git
设置origin master为默认分支
git push --set-upstream origin master
如果设置了上面的,以后直接git push
即可,强制推送可以用git push --force
用GIT操作版本库
开始push,git push origin master
如果svnproject中有更新,git svn fetch
然后合并git-svn分支到master上,git merge master git-svn
接着,提交,git add .
在接着,提交,git commit -m"Commit message"
最后git push origin master