美文网首页
简单的svn工作流程及命令行指令

简单的svn工作流程及命令行指令

作者: 小巷深深 | 来源:发表于2015-12-08 17:18 被阅读2248次

    svn可以对我们的代码进行系统的管理。主要功能就是保存所有的历史版本,方便回退版本,查看修改记录,保存版本防止丢失。
    理想状态下,希望svn上的每一个版本拿下来都是可以正确运行的。所以建议大家提交代码要少量多次,每次修改一个功能就马上提交,可以避免修改太多导致合并出错或者遗漏。(如果一次修改的太多,合并代码时花费半天一天时间也是很正常的)

    一、常用命令

    • svn checkout http://xxxx
      从svn服务器获取最新的版本
    • svn log :查看所有日志
    • svn log -l 4 : 查看最近的四条日志
    • svn commit -m “修改记录”: 提交本地代码
    • svn info:查看当前版本的svn信息,主要查看svn路径和工程版本号
    • svn up:更新库上最新版本到本地。
    • svn up -r 2014:将本地版本更新为r2014版本
    • svn st: 相对于库上最新版本,显示本地修改了哪些文件
    • svn st后会列出所有修改的文件
    • svn revert aaa.txt 忽略对aaa.txt文件的修改,即未提交的修改都会被删除
    • A:此文件是新增文件
    • M:此文件内容修改
    • D:此文件要删除
    • ?:未知类型,可以根据需要,在本地将其删除,或者使用svn add,svn delete将其关联到库上
    • svn add aaa.txt
    • svn delete aaa.txt

    二、svn提交建议

    在多人共同修改同一个文件时很容易出现冲突。或者如xcode工程文件很复杂,容易将一些垃圾信息上传,所以建议svn目录和工作目录分开,使用比较工具合并代码,然后再提交。这样做虽然会浪费些时间,但可以最大限度保证提交代码的质量,在合并代码的时候还能review一下修改部分,发现一些错误。
    根据我们现在的项目情况,建议操作流程如下:

    1. svn checkout 取下最新的版本(svn 版本)
    2. 将此版本复制一份到正在修改的工程下进行修改。(工作版本)
    3. 将svn版本更新(svn up)
    4. 使用比较工具将工作版本的修改合并到svn版本。合并完成后 svn st,确认所有修改的文件正确
    5. 在工程中添加删除文件都会修改工程文件,而工程文件不好合并,建议合并完代码后,在svn版本中打开工程文件,再执行一次删除或者添加文件的操作
    6. 在合并的时候有可能其他人已经提交了代码,所以在确认后再运行svn up,如果有冲突,将冲突代码下载下来,在工程中修改。然后再执行第四步
    7. 若没有冲突,使用svn commit -m “提交日志”将代码提交。

    三、推荐工具

    推荐几个比较好用的工具
    windows:
    tortoiseSVN,可以方便的查看修改的文件、提交日志、历史版本等。上面提到的svn up ,commit,log等命令在软件中都有菜单可以点击
    beyondcompare3 一款非常优秀的二进制比较工具,可以比较任何文件,效率很高
    mac
    svn工具:versions,相比windows上的工具来说真是太难用了
    命令行,上面提到的几个命令足以应付日常使用了,很方便,比那些工具好用太多了

    比较工具:changes 目前只发现这一款还算可以,但效率就真不敢恭维了。还经常崩溃,聊胜于无吧
    Xcode的代码比较,这个真是非常好用

    希望以上建议能帮助大家正确的提交代码.有不对的地方请各位指正

    我创建了一个QQ群,希望大家能本着互联网开放的心态,将遇到的问题和经验在群里分享,大家互相交流心得,共同提高。
    群号:77311380

    相关文章

      网友评论

          本文标题:简单的svn工作流程及命令行指令

          本文链接:https://www.haomeiwen.com/subject/zpmehttx.html