TortoiseSVN:
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在*版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
环境说明:
系统版本:CentOS 6.5,内核(uname -r):2.6.32-431.el6.x86_64
安装命令:
yum install -y subversion
SVN客户端命令:
查看svn命令帮助:
svn help
查看子命令帮助:
svn checkout --help
checkout (co): Check out a working copy from a repository. usage: checkout URL[@REV]... [PATH] If specified, REV determines in which revision the URL is first looked up. If PATH is omitted, the basename of the URL will be used as the destination. If multiple URLs are given each will be checked out into a sub-directory of PATH, with the name of the sub-directory being the basename of the URL. If --force is used, unversioned obstructing paths in the working copy destination do not automatically cause the check out to fail. If the obstructing path is the same type (file or directory) as the corresponding path in the repository it becomes versioned but its contents are left 'as-is' in the working copy. This means that an obstructing directory's unversioned children may also obstruct and become versioned. For files, any content differences between the obstruction and the repository are treated like a local modification to the working copy. All properties from the repository are applied to the obstructing path. See also 'svn help update' for a list of possible characters reporting the action taken. Valid options: -r [--revision] ARG : ARG (some commands also take ARG1:ARG2 range) A revision argument can be one of: NUMBER revision number '{' DATE '}' revision at start of the date 'HEAD' latest in repository 'BASE' base rev of item's working copy 'COMMITTED' last commit at or before BASE 'PREV' revision just before COMMITTED -q [--quiet] : print nothing, or only summary information -N [--non-recursive] : obsolete; try --depth=files or --depth=immediates --depth ARG : limit operation by depth ARG ('empty', 'files', 'immediates', or 'infinity') --force : force operation to run --ignore-externals : ignore externals definitions Global options: --username ARG : specify a username ARG --password ARG : specify a password ARG --no-auth-cache : do not cache authentication tokens --non-interactive : do no interactive prompting --trust-server-cert : accept unknown SSL server certificates without prompting (but only with '--non-interactive') --config-dir ARG : read user configuration files from directory ARG --config-option ARG : set user configuration option in the format: FILE:SECTION:OPTION=[VALUE] For example: servers:global:http-library=serfsvn list --help
list (ls): List directory entries in the repository. usage: list [TARGET[@REV]...] List each TARGET file and the contents of each TARGET directory as they exist in the repository. If TARGET is a working copy path, the corresponding repository URL will be used. If specified, REV determines in which revision the target is first looked up. The default TARGET is '.', meaning the repository URL of the current working directory. With --verbose, the following fields will be shown for each item: Revision number of the last commit Author of the last commit If locked, the letter 'O'. (Use 'svn info URL' to see details) Size (in bytes) Date and time of the last commit Valid options: -r [--revision] ARG : ARG (some commands also take ARG1:ARG2 range) A revision argument can be one of: NUMBER revision number '{' DATE '}' revision at start of the date 'HEAD' latest in repository 'BASE' base rev of item's working copy 'COMMITTED' last commit at or before BASE 'PREV' revision just before COMMITTED -v [--verbose] : print extra information -R [--recursive] : descend recursively, same as --depth=infinity --depth ARG : limit operation by depth ARG ('empty', 'files', 'immediates', or 'infinity') --incremental : give output suitable for concatenation --xml : output in XML Global options: --username ARG : specify a username ARG --password ARG : specify a password ARG --no-auth-cache : do not cache authentication tokens --non-interactive : do no interactive prompting --trust-server-cert : accept unknown SSL server certificates without prompting (but only with '--non-interactive') --config-dir ARG : read user configuration files from directory ARG --config-option ARG : set user configuration option in the format: FILE:SECTION:OPTION=[VALUE] For example: servers:global:http-library=serfsvn list使用示例:
svn list svn://192.168.231.1/SVNHome
遇到连接超时的错误:
查看连接的IP上是否已经启动SVN服务,检查防火墙端口开放状态。
解决连通问题之后,会提示输入“root”用户的密码,如下图:
这里使用其它用户访问,直接回车就可以了,然后提示输入用户名,输入完成回车,
然后提示输入密码,输入完成回车,如果输入正确就可以看到类似的信息了。
svn checkout使用示例:
先创建一个目录,例如:mkdir test
检出到test目录下
svn checkout svn://192.168.231.1/SVNHome ./test
由于之前已经选择保存密码了,所以这里不再需要验证,输出如下图:
Checked out revision 10.检出成功,去test目录下看看吧。
更新版本库:
切换目录到之前检出的文件目录,然后执行命令:svn update
如果之前没有选择保存密码,则会提示输入检出时使用的用户的密码!
如果需要使用其它用户,则直接按回车,这样就会提示你输入用户名,
输入用户名之后按回车,会提示输入密码,输入正确并且用户有权限的话,就会开始更新了。