zoukankan      html  css  js  c++  java
  • 创建本地SVN版本库以及将SVN导入GIT

    创建本地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

  • 相关阅读:
    面向对象三 组合 特殊成员
    面向对象二 成员 嵌套
    面向对象
    模块和包
    异常处理
    os模块和序列化模块
    常用模块一
    常用模块 re模块
    内置函数二
    Algs4-2.2.14归并有序的队列
  • 原文地址:https://www.cnblogs.com/tangyouwei/p/4796478.html
Copyright © 2011-2022 走看看