🎊 svn常用命令

svn常用命令

SVN 的命令通常都很少用,在 windows 上,我们通常都是使用图形化的操作界面,例如 TortoiseSVN,提供了很好的图形化操作界面,上手简单方便。但是有时候我们需要在服务器这类没有图形化操作界面的机器上使用 SVN,这时候我们就需要用到 SVN 的命令来操作了。本篇给大家讲解一些 SVN 的常用命令,日常使用学会这些就足够了。

本文讲解的是 SVN 客户端的命令操作,你需要一个 SVN 服务端才能进行交互,如果你还没有 SVN 服务器,推荐你使用 SVNBucket

代码检出 checkout这个命令会把 SVN 服务器上的代码下载到我们电脑上,checkout 也可以简写为 co

12345svn checkout svn://svnbucket.com/xxx/xxx# 指定存储目录svn checkout svn://svnbucket.com/xxx/xxx save-dir# 指定用户名密码。svn checkout svn://svnbucket.com/xxx/xxx --username xxxx --password xxx

提交代码 commit此命令可以把我们本地的修改提交到 SVN 服务器,这样其他同事就能更新到我们的代码了。commit 可以简写为 ci,-m 参数后面跟的是本次提交的描述内容

123456# 描述是必须的,但是可以填写空字符串,不指定svn commit -m "提交描述"# 只提交指定文件或目录svn commit /path/to/file-or-dir -m "提交指定文件"# 指定后缀的所有文件svn commit *.js -m "提交所有 js 文件"

更新代码 update执行此命令后会把其他人提交的代码从 SVN 服务器更新到我们自己电脑上,update 也可以简写为 up

123456# 更新到最新svn update# 更新到指定版本的代码。特别是最新版本代码有问题时,我们可以用这个命令回到之前的版本svn update -r xxx # 仅更新指定文件或者目录svn up /path/to/file-or-dir

添加文件 add新建的文件,我们需要用 add 命令把它们加入 SVN 的版本管理,然后我们才可以提交它。注意:添加后还需要进行提交喔。

1234# 添加指定文件或目录svn add /path/to/file-or-dir# 添加当前目录下所有 php 文件svn add *.php

删除文件 delete此命令会从 SVN 移除版本控制,移除后你需要提交一下

123svn delete /path/to/file-or-dir# 删除版本控制,但是本地依旧保留文件svn delete /path/to/file-or-dir --keep-local

查看日志 log12345678# 查看当前目录的日志svn log# 查看指定文件或目录的提交日志svn log /path/to/file-or-dir# 查看日志,并且输出变动的文件列表svn log -v# 限定只输出最新的 5 条日志svn log -l 5

查看变动 diff12345678# 查看当前工作区的改动svn diff# 查看指定文件或目录的改动svn diff /path/to/file-or-dir# 本地文件跟指定版本号比较差异svn diff /path/to/file-or-dir -r xxx# 指定版本号比较差异svn diff /path/to/file-or-dir -r 1:2

撤销修改 revert1234# 撤销文件的本地修改svn revert test.php# 递归撤销目录中的本地修改svn revert -R /path/to/dir

添加忽略 ignoreSVN 的忽略是通过设置目录的属性 prop 来实现的,添加后会有一个目录属性变动的修改需要提交,记得要提交一下喔,这样其他人也有了这个忽略配置。

123456789101112# 忽略所有 log 文件。注意最后有个点号,表示在当前目录设置忽略属性。svn propset svn:ignore "*.log" .# 递归忽略 global-ignoressvn propset svn:global-ignores "*.log" .# 从文件读取忽略规则,一行一个规则。svn propset svn:ignore -F filename.txt .# 打开编辑器修改忽略属性svn propedit svn:ignore .# 查看当前目录的属性配置svn proplist . -v# 删除当前目录的忽略设置svn propdel svn:ignore .

忽略仅对还未添加到版本库的文件生效,已经在版本库里的文件,添加忽略后是不会自动删除的也不会忽略,需要手动 delete 命令删除下才行。

TortoiseSVN 添加忽略会更加简单,也会自动执行删除命令。

查看状态 status任何时候,你可以用下面的命令查看当前工作目录的 SVN 状态喔,会列出来哪些文件有变动。

12svn statussvn status /path/to/file-or-dir

清理 cleanup这个命令我们经常在 SVN 出现报错时可以执行一下,这样就会清理掉本地的一些缓存

1svn cleanup

查看信息 info1svn info

查看文件列表 ls123svn ls # 指定版本号svn ls -r 100

查看文件内容12# 查看指定版本的文件内容,不加版本号就是查看最新版本的svn cat test.py -r 2

查看 blame显示文件的每一行最后是谁修改的(出了BUG,经常用来查这段代码是谁改的)

1svn blame filename.php

地址重定向如果你的 SVN 地址变了,不需要重新 checkout 代码,只需要这样重定向一下就可以了。

1svn switch --relocate 原 SVN 地址 新 SVN 地址

分支操作1234567891011# 创建分支,从主干 trunk 创建一个分支保存到 branches/online1.0svn cp -m "描述内容" http://svnbucket.com/repos/trunk http://svnbucket.com/repos/branches/online1.0# 合并主干上的最新代码到分支上cd branches/online1.0svn merge http://svnbucket.com/repos/trunk # 分支合并到主干svn merge --reintegrate http://svnbucket.com/repos/branches/online1.0# 切换分支svn switch svn://svnbucket.com/test/branches/online1.0# 删除分支svn rm http://svnbucket.com/repos/branches/online1.0

帮助命令1234# 查看SVN帮助svn help# 查看指定命令的帮助信息svn help commit

🎯 相关推荐

腾讯视频投屏功能在哪里
365bet资讯

腾讯视频投屏功能在哪里

📅 09-18 👀 7824
谁在背后守护萝卜?揭秘保卫萝卜4的开发公司
教育部哲学社会科学研究重大课题攻关项目“苏轼全集会校会注会评研究”开题论证会顺利举办