SVN使用笔记

来源:互联网 发布:经纬度计算距离软件 编辑:程序博客网 时间:2024/06/06 08:30

由于往SAE部署应用的时候要用到SVN,所以将可能要用到的先整理起来备忘。我是在Ubuntu下用SVN的,在linux环境下用SVN貌似比用图形界面方便,个人见解。

安装

Ubuntu是没有自带SVN的,所以在用SVN时需要事先安装,过程很简单。

$ sudo apt-get install subversion
然后根据提示操作即可。
常用操作

一、将工程项目checkout到本地目录

用法是:
$ svn checkout svn_server_path (也可简写为:svn co svn_server_path

其中,svn_server_path是工程项目在SVN服务器的地址。例如你在SAE有一个app,可以通过SVN检出到本地目录来开发。

$ svn co https://svn.sinaapp.com/app

这时,你就可以看到当前目录下有一个app的新文件夹,就是app的工程项目。

二、往本地版本库添加文件

用法是:
$ svn add file (添加文件)$ svn add direction/(添加direction文件夹的所有文件)$ svn add *.py (添加当前文件夹的所有python文件)

这时改变的只是你检出到本地的工程项目,在提交之前,SVN服务器上的工程项目不受影响。

三、将本地改动的文件提交到到服务器

用法是:
$ svn commint [paht...]

可以先往本地版本库添加文件之后再集中提交,假如进行了svn add操作之后,直接提交即可。

$ svn commit -m "log_message"(简写为:svn ci -m "log_message"

但假如实现没有进行svn add操作,那么以上操作将会提交当前目录的所有文件。假如要提交特定文件,则:

$ svn commit -m "log_message" file (e.g. svn ci -m "log_message" settings.py)

网上有一些博文中提到一条命令是

  • svn commint -m "log_message" [-N] [--no-unclock] path 说是如果选择了保持所,则用--no-unclock来开关,这条命令不是很能理解。

    四、回退到某个版本

    用法是:
    $ svn update -r ver path(简写: svn up -r ver path

    假如update后面没有参数的话,则默认将当前目录以及子目录下面文件更新到最新版本。例如,要将版本库中的settings.py回退到版本27的settings.py:

    $ svn update -r 27 settings.py

    回退的话通常会遇到文件过期的问题。

    五、删除文件目录

    用法是:
    $ svn delete path_or_file -m "delete something"(简写:svn (del, remove, rm ) path_or_file -m "delete something"

    我们要删除SVN服务器上工程项目中某个多余的目录,则可以先checkout到本地目录,然后delete,然后再commit即可。例如,我想删除工程中的media目录。

    $ svn co https://svn.sinaapp.com/project$ svn delete project/media -m "delete media"$ svn ci -m "delete direction media"

    六、比较差异

    用法是:
    $ svn diff path (比较修改前后差异, 简写:svn di path$ svn diff -r m:n path (比较版本m和版本n之间的差异)

    七、查看本地版本库状态

    用法是:
    $ svn status path (简写:svn st path

    假如没有改变的文件是不会显示的。显示的都会有提示。其中, ?:文件或目录不在版本控制中;M:内容被修改过;C: 发生冲突; A: 已添加到本地版本库;K:被锁定了。

    假如冲突的话,需要解决冲突。

    $ svn resolved path

    命令移除了冲突的“状态”,注意,因此的只是移除冲突的文件,不是原因,移除文件也许有其他的问题。

    SVN是很强大的版本控制工具,更多请查看SVN中文手册


  • 0 0
    原创粉丝点击