代码检出 checkout(co)
这个命令会把 SVN 服务器上的代码下载到咱们电脑上,checkout 也能够简写为 co svn 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 参数前面跟的是本次提交的形容内容 # 形容是必须的,然而能够填写空字符串,不指定 svn commit -m "提交形容" # 只提交指定文件或目录 svn commit /path/to/file-or-dir -m "提交指定文件" # 指定后缀的所有文件 svn commit *.js -m "提交所有 js 文件"
更新代码 update
执行此命令后会把其他人提交的代码从 SVN 服务器更新到咱们本人电脑上,update 也能够简写为 up # 更新到最新svn update# 更新到指定版本的代码。特地是最新版本代码有问题时,咱们能够用这个命令回到之前的版本svn update -r xxx # 仅更新指定文件或者目录svn up /path/to/file-or-dir
增加文件 add
新建的文件,咱们须要用 add 命令把它们退出 SVN 的版本治理,而后咱们才能够提交它。留神:增加后还须要进行提交喔。 # 增加指定文件或目录svn add /path/to/file-or-dir# 增加当前目录下所有 php 文件svn add *.php
删除文件 delete
此命令会从 SVN 移除版本控制,移除后你须要提交一下 svn delete /path/to/file-or-dir# 删除版本控制,然而本地仍旧保留文件svn delete /path/to/file-or-dir --keep-local
查看日志 log
# 查看当前目录的日志svn log# 查看指定文件或目录的提交日志svn log /path/to/file-or-dir# 查看日志,并且输入变动的文件列表svn log -v# 限定只输入最新的 5 条日志svn log -l 5
查看变动 diff
# 查看当前工作区的改变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
撤销批改 revert
# 撤销文件的本地批改svn revert test.php# 递归撤销目录中的本地批改svn revert -R /path/to/dir
增加疏忽 ignore
SVN 的疏忽是通过设置目录的属性 prop 来实现的,增加后会有一个目录属性变动的批改须要提交,记得要提交一下喔,这样其他人也有了这个疏忽配置。 # 疏忽所有 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 命令删除下才行。
查看状态 status
任何时候,你能够用上面的命令查看当前工作目录的 SVN 状态喔,会列出来哪些文件有变动。 svn statussvn status /path/to/file-or-dir
清理 cleanup
这个命令咱们常常在 SVN 呈现报错时能够执行一下,这样就会清理掉本地的一些缓存 svn cleanup
查看信息 info、查看文件列表 ls、查看文件内容、查看 blame、地址重定向
-----------------------------svn info-----------------------------svn ls # 指定版本号svn ls -r 100-----------------------------# 查看指定版本的文件内容,不加版本号就是查看最新版本的svn cat test.py -r 2-----------------------------显示文件的每一行最初是谁批改的(出了BUG,常常用来查这段代码是谁改的) svn blame filename.php------------------------------svn switch --relocate 原 SVN 地址 新 SVN 地址------------------------------
分支操作
# 创立分支,从骨干 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
帮忙命令
# 查看SVN帮忙svn help# 查看指定命令的帮忙信息svn help commit