06月25, 2018

svn for mac

svn 命令使用

打开终端输入svn

localhost:~ admin$ svn
Type 'svn help' for usage.
localhost:~ admin$ svn help
usage: svn <subcommand> [options] [args]
Subversion command-line client.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

Available subcommands:
   add
   auth
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   patch
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   relocate
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)
   upgrade

Subversion is a tool for version control.
For additional information, see http://subversion.apache.org/

常用的svn命令

1、将文件checkout 到本地(svn checkout path)

svn checkout pathpath是服务器上的目录)
例如:svn checkout  svn://192.168.1.1/pro/domain
简写:svn co

2、版本中添加新文件

svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有文件)

3、将改动的文件提交到版本库

svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock)
例如:svn commit -m "add test file for my test" test.php
简写:svn ci

4、加锁/解锁

svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "lock test file" test.php
svn unlock PATH 

5、更新到某个版本

svn update -r m path
例如:svn update(如果后面没有目录,默认将当前目录以及子目录下所有文件更新到最新版本)
svn update -r 200 test.php(降版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本同步。如果提交是提示过期的话,是因为冲突,需要先update,解决冲突,然后svn resolved,最后在svn commit)
svn up

6、查看文件或者目录状态

svn status path(目录下文件和子目录状态,正常状态不显示)
【?:不在svn版本中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
svn status -v path (显示文件和子目录状态)
简写:st
注:svn status、svn diff 、svn revert,这三条在没有网络情况下也可以执行,原因是svn在本地的.svn中保留了本地版本的原始拷贝

7、删除文件

svn delete path  -m "delete test file"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file" 直接删除svn版本库
或者先 svn delete test.php,然后提交svn ci m "delete test file",推荐使用这种
简写:svn(delremove、rm)

8、查看更改日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及版本号变化

9、查看文件详细信息

svn info path
例如:svn info test.php

10、比较差异

svn diff path (将修改的文件与基础版进行比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path
例如:svn merge -r 200:205 test.php (将版本200与205之间的的差异合并到当前文件,但一般会有冲突,需要处理一下)

12、svn帮助

svn help
svn help ci 

13、版本库下的文件和目录列表

svn list path 
显示path目录下的所有属于版本库的文件和目录
简写:svn ls

14、创建纳入版本控制下新目录

svn mkdir:创建纳入版本控制新目录
1)、mkdir PATH...  
  每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交
2)、mkdir URL...
每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在

15、恢复本地修改

svn revert:修改原始未修改的工作副本文件(恢复大部分文件修改)
用法:revert PATH...
注意:本命令不会获存取网络,并且会接触冲突情况。但是它不会恢复被删除的目录

16、代码库URL变更

svn switch (sw):更新工作副本至不同的URL。
用法:
1)、switch URL [PATH] 
更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2)、switch -relocate FROM to [PATH...]

改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。

17、解决冲突

svn resolved :移除工作副本文件或目录的冲突状态。
用法:svn resolved PATH...
注意:本子命令不会依语法来解决冲突或移除冲突标记;它只是移除冲突的相关文件,然后让path再次提交。

转载链接: https://www.cnblogs.com/snandy/p/4072857.html

本文链接:http://www.zhaoxudong.cn/post/svn.html

-- EOF --

Comments

请在后台配置评论类型和相关的值。