svn

文章目录

    checkout 需要账号密码的项目

    svn checkout http://www.svnchina.com/svn/sunzhongwei --username sunzhongwei
    

    然后 SVN 会自动提示输入密码

    SVN change IP

    svn switch --relocate svn://192.168.1.x:7736 https://192.168.1.y/svn/foo
    

    常用命令

    获取两次提交间发生更改的文件列表

    svn diff -r v1:v2 --summarize
    

    输出如下

    M       js/src/common/widget/placeholder/placeholder.js
    M       js/src/common/widget/placeholder/placeholder1.js
    M       js/src/common/widget/placeholder/placeholder2.js
    

    参考 Get changed files from SVN command line between two revisions

    获取 SVN 仓库远端 URL

    svn info
    

    获取指定条目的 log 记录

    默认 svn log 会显示所有的提交历史,实际上,通常我们只想看到最新的提交。
    例如,我们想查看最近的四次提交

    svn log --limit 4
    
    svn log -l 4
    

    SVN 分支开发流程

    创建新分支

    svn copy -m "create new branch" http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/branches/new_feature
    

    拉取新分支

    svn checkout http://svn_server/xxx_repository/branches/new_feature
    

    合并主干上的最新修改到分支上

    cd trunk
    svn update
    cd new_feature
    svn merge http://svn_server/xxx_repository/trunk 
    

    分支合并到主干

    cd trunk
    svn merge --reintegrate http://svn_server/xxx_repository/branches/new_feature
    

    打上 tag

    svn copy http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/tags/release-1.0 -m "1.0 released"
    

    删除分支

    svn rm http://svn_server/xxx_repository/branches/new_feature
    svn ci -m "我删除了一个分支"
    svn update
    

    参考 svn 命令行创建和删除 分支和tags

    遇到过的 svn error

    svn: E195016: trunk must be ancestrally related to branch

    可能是分支目录对应的 trunk 的目录不匹配,重建分支即可。

    设置忽略文件及目录列表

    例如,我要忽略代码目录下的 npm 相关的 node_modules 目录

    在 ~/.subversion/config 中加入

    global-ignores = node_modules 
    

    参考

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式