Current
1 2 3 4
| svn propset svn:ignore <PROJECT> .
svn resolve --accept working <PROJECT>
|
配合Phabricator工作流
1 2 3 4 5
| svn add,delete
arc diff arc commit
|
代码检出 checkout
把 SVN 服务器上的代码下载到电脑上,checkout 也可以简写为 co
1 2 3 4 5
| 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
commit 可以简写为 ci,-m 参数后面跟的是本次提交的描述内容
1 2 3 4 5 6
| svn commit -m "提交描述"
svn commit /path/to/file-or-dir -m "提交指定文件"
svn commit *.js -m "提交所有 js 文件"
|
更新代码 update
update 也可以简写为 up
1 2 3 4 5 6
| svn update
svn update -r xxx
svn up /path/to/file-or-dir
|
添加文件 add
1 2 3 4
| svn add /path/to/file-or-dir
svn add *.php
|
删除文件 delete
此命令会从 SVN 移除版本控制,移除后需要提交一下
1 2 3
| svn delete /path/to/file-or-dir
svn delete /path/to/file-or-dir --keep-local
|
查看日志 log
1 2 3 4 5 6 7 8
| svn log
svn log /path/to/file-or-dir
svn log -v
svn log -l 5
|
查看变动 diff
1 2 3 4 5 6 7 8
| 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
1 2 3 4
| svn revert test.php
svn revert -R /path/to/dir
|
添加忽略 ignore
SVN 的忽略是通过设置目录的属性 prop 来实现的,添加后会有一个目录属性变动的修改需要提交
1 2 3 4 5 6 7 8 9 10 11 12
| svn propset svn:ignore "*.log" .
svn 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 状态喔,会列出来哪些文件有变动。
1 2
| svn status svn status /path/to/file-or-dir
|
清理 cleanup
SVN 出现报错时可以执行一下,会清理掉本地的一些缓存
查看信息 info
查看文件列表 ls
查看文件内容
查看 blame
地址重定向
如果你的 SVN 地址变了,不需要重新 checkout 代码,只需要这样重定向一下就可以了
1
| svn switch --relocate 原 SVN 地址 新 SVN 地址
|
分支操作
1 2 3 4 5 6 7 8 9 10 11
| ## 创建分支,从主干 trunk 创建一个分支保存到 branches/online1.0 svn cp -m "描述内容" http://svnbucket.com/repos/trunk http://svnbucket.com/repos/branches/online1.0 ## 合并主干上的最新代码到分支上 cd branches/online1.0 svn 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
|