svn

更新日期: 2015-12-12 阅读次数: 13665 分类: 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 聊聊, 查看更多联系方式。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。同时也欢迎关注我的微信公众号“大象工具”: 大象工具微信公众号

相关文章

爱评论不评论

近期节日

2020年10月31日 世界勤俭日
2020年11月01日 万圣节
2020年11月07日 立冬
2020年11月08日 中国记者日
2020年11月10日 世界青年节
2020年11月11日 光棍节
2020年11月14日 世界糖尿病日
2020年11月17日 国际大学生节
2020年11月20日 国际儿童日
2020年11月21日 世界问候日
2020年11月22日 小雪
2020年11月26日 感恩节
查看更多节日