SVN使用说明

SVN简明介绍

在团队合作项目中,你是否遇到过这样的情况:当你正在修改一个文件,却出现另一个人作了同样的事情。你是否曾因为这种巧合而导致了你的修改付之东流?

你是否曾经在文件保存之后,又想恢复到文件保存之前?你是否想过要去查看一个文件几天前的内容?

当你发现一个项目中的bug,你是否想知道它是何时出现在你的项目中?

如果你对上面任何一个问题回答“Yes”,那么SVN就是你所需要的!

SVN是Subversion的简写,它是一个自由/开源版本控制系统,可以跨越时间管理文件和目录,记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。

Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。

这只是一个粗略的介绍,详细资料请查阅:

版本管理与SVN为核心的快速开发环境 http://www.zoomquiet.org/share/s5/0707-SVNnTrac

使用Subversion进行版本控制 http://www.subversion.org.cn/svnbook/1.4/index.html

和其它版本管理系统的对比 http://wiki.woodpecker.org.cn/moin/DistributedScm

TortoiseSVN快速上

我们的项目是在Google Code下完成,Google Code对SVN有很好的支持,于是,对于每一位参与项目编写的朋友来说,只需要在电脑上安装一个SVN客户端就够了。而对大多数人来说,使用命令来完成操作是很头疼的事,于是很多MS客户端应运而生,其中,小乌龟TortoiseSVN就是很优秀的一款。我们以TortoiseSVN为例,介绍如何使用。

TortoiseSVN功能丰富,但是我们只需要学会2个简单的操作即可,第一就是下载文件,第二是上传。下面针对各个功能作出说明。

操作命令1:Checkout...

1、下载TortoiseSVN的安装版。TortoiseSVN的官方主页http://tortoisesvn.tigris.org。英文不好的朋友可以在Subversion中文站http://www.subversion.org.cn 寻找合适的中文版本下载。安装后,你不会看到任何可执行的程序,因为TortoiseSVN是嵌在windows里面的。

2、在电脑中新建一个空的文件夹,右键点击它,可以看到TortoiseSVN菜单以及上面的SVN Checkout。

3、Checkout的意思签出,可以把svn中的目录文件下载过来,但不同于export下载的是,它具有验证的功能,Checkout到某处的文件、代码将会被TortoiseSVN监视,里面的文件可以享受各种SVN的服务。选择Checkout,就表示这个目录将与这个SVN地址关联,这里的修改可以提交到SVN服务器。但是,首先,你需要具有权限。

4、获取SVN密码。登录我们的教育大发现项目页,进入Source页面,你会看到

# Project members authenticate over HTTPS to allow committing changes.
 svn checkout https://sociallearnlab.googlecode.com/svn/trunk/ sociallearnlab --username xxx    

username后面的xxx就是你的用户名,而https://sociallearnlab.googlecode.com/svn就是我们的SVN地址,点击这段文字下方的 When prompted, enter your generated googlecode.com password.你就可以拿到SVN密码了。

5、Checkout,将目录与这个SVN地址关联。右键选择SVN Checkout后,会跳出一个页面,在URL中填写我们的SVN地址,其他选项不需要更改,Omit externals不要勾选,HEAD Revision选中表示最新的代码版本,接着点击OK,在跳出的页面填写用户名和密码即可。

6、全部文件checkout之后,目录上会有一个绿色的勾,表示目录与文件为最新(与之相应的,如果是红色叹号则表示该文件已被修改)。这个目录中所有带勾的文件目前都在Tortoise的监视之下了,可以尝试右键单击文件,你会发现可以执行很多操作。接下来我会挑选一些比较常用的来讲解。

操作命令2:Commit...

假如你更新了目录中的文件,那么就可以用到commit功能。这个功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。

但是commit的功能不仅仅是上传,他会和服务器上面的文件进行对比,假如你更新了某个文件而服务器上面也有人更新了这个文件,并且是在你checkout之后做的更新,那么它会尝试将你的更新和他人的更新进行融合(merge),假如自动merge不成功,那么报告conflict,你必须自己来手动merge,也就是把你的更新和别人的更新无冲突的写在一起。

commit的时候,最好填写Log信息,这样保证别人可以看到你的更新究竟做了写什么。这就相当于上传文件并且说明自己做了那些修改,多人合作的时候log非常重要。

操作命令3:Add...

TortoiseSVN的commit只会上传原先 checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候它就会被upload并且被标记为绿色对勾。没有绿色对勾的文件不会被commit。

假如你需要给带有绿色对勾文件改名或者移动它的位置,请不要使用windows的功能,右键点击它们,TortoiseSVN都有相应的操作。想象这些文件已经不在是你本地的东西,你的一举一动都必须让Tortoise知道。

操作命令4:Revert...

假如修改了某个文件但是你后悔了,可以右键点击它选择Revert,它将变回上次checkout时候的情况。或者Revert整个工程到任意一个从前的版本。

操作命令5:Update...

假如是多人合作的项目,自己不做修改的话别人也要修改,这时候就需要使用update来同步本地和服务器上的代码。同样是右键选择update,所有的更改就会从服务器端传到你的硬盘。注意,假如别人删除了某个文件,那么更新之后你在本地的也会被删除。

如果本地的代码已经被修改,和commit一样会先进行merge,不成功的话就会报告conflict。

其他……

假如有的文件不想让别人修改,还可以进行Lock操作。 还有用于查看所有log的show log菜单,现实版本更新图示的Revision graph,查看服务器端目录结构的Repo-browser。另外还有创建tag操作,相当于把当前的代码版本复制一份到其他地方,然后以这个地方为出发点进行新的开发,与原来位置的版本互不干扰。

相关资源:

TortoiseSVN的官方主页 http://tortoisesvn.tigris.org

Subversion中文站 http://www.subversion.org.cn

TortoiseSVN 简明使用(插图版) http://fairyfish.net/2007/09/08/tortoisesvn-introduce/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux上使用SVN,你可以按照以下步骤进行操作: 1. 安装SVN服务端:根据的引用内容,你可以按照TortoiseSVN服务端的安装教程来安装SVN服务端。 2. 将文件checkout到本地目录:使用以下命令将文件从版本库中checkout到本地目录: ``` svn checkout svn_path local_path ``` 例如,你可以使用以下命令来checkout一个版本库中的文件: ``` svn checkout svn://192.168.1.131/45dian/brand ``` 如果你想要将文件checkout到当前目录下的一个子目录中,你可以使用以下命令: ``` svn checkout svn://192.168.1.131/45dian/brand ./brand/ ``` 这里的"./brand/"是你想要将文件checkout到的本地目录。 此外,你还可以使用`svn co`作为`svn checkout`的简写。 3. 往版本库添加新的文件:使用以下命令将新的文件添加到版本库中: ``` svn add file ``` 例如,要添加一个名为"test.php"的文件,你可以使用以下命令: ``` svn add test.php ``` 如果你想要添加当前目录下的所有php文件,可以使用以下命令: ``` svn add *.php ``` 如果你想要添加一个名为"user"的目录及其下的所有内容(递归添加),可以使用以下命令: ``` svn add user ``` 4. 将改动的文件提交到版本库:使用以下命令将改动的文件提交到版本库中: ``` svn commit -m '注释内容' [-N [--no-unlock PATH ``` 例如,你可以使用以下命令来提交一个名为"test.php"的文件: ``` svn commit -m '添加新文件' test.php ``` 如果你想要提交一个名为"user"的目录及其下的所有内容(递归提交),可以使用以下命令: ``` svn commit -m '添加新目录(递归)' user ``` 此外,你还可以使用`svn ci`作为`svn commit`的简写。 5. 加锁/解锁:使用以下命令对文件进行加锁或解锁操作: - 加锁: ``` svn lock -m '加锁注释内容' [--force PATH ``` 例如,你可以使用以下命令来对一个名为"test.php"的文件进行加锁: ``` svn lock -m "锁定文件" test.php ``` - 解锁: ``` svn unlock PATH ``` 例如,如果你想要解锁一个文件,可以使用以下命令: ``` svn unlock test.php ``` 6. 更新版本:根据的引用内容,你可以使用以下命令更新版本: ``` svn update ``` 总结起来,在Linux上使用SVN的基本操作包括安装SVN服务端、将文件checkout到本地目录、添加新文件到版本库、提交改动的文件到版本库、加锁/解锁文件以及更新版本。以上是一些基本的使用方法,如果你需要更详细的SVN使用说明,你可以参考和的引用内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值