什么是svn?以及如何将它与项目一起使用?

时间:2012-04-30 01:46:22

标签: svn ankhsvn

我不知道svn。什么是svn?我的朋友告诉我使用Assembla,它只是一个存储库?或者也是一个svn?

如果我使用svn客户端,例如AnkhSVN,我在哪里存储我的项目?在AnkhSVN?还是Assembla?如果存储在Assembla中,我该怎么做才能将它连接到AnkhSVN?

5 个答案:

答案 0 :(得分:10)

svn是subversion的缩写,version control是一种A Visual Guide to Version Control系统。版本控制是一个很大的主题 - 简而言之,这些只是使用版本控制所带来的一些好处:

  • 跟踪对代码库的更改(即谁更改了内容),并回滚到以前的修订版
  • 让版本控制系统将您的更改与其他开发人员在同一文件上所做的更改合并,与您的团队成员进行协作
  • 创建代码的分支,允许您并行维护项目的不同版本

您可以直接从命令行使用subversion,但也有GUI和IDE插件使Subversion集成更容易。例如,AnkhSVN是一个与Visual Studio集成的subversion客户端。

我建议您对版本控制进行一些阅读,然后按照一些颠覆性教程来开始:

答案 1 :(得分:3)

阅读(至少)prefaceVersion Control with Subversion,这是SVN的权威指南。更好的是,请阅读介绍和第一章。希望它能回答你所有的问题。

答案 2 :(得分:1)

因此SVN是版本控制和版本控制系统。基本上它允许团队管理共享代码库。

考虑没有这样一个系统的世界。你有两个程序员A和B.两个文件C和D.程序员A改变文件C.然后程序员B改变文件C.如果B在程序员A编辑之前改变了文件的版本,你就会遇到问题。现在你需要同步这两个。你是如何管理的?这就是SVN所做的。

此外,我很高兴能够说我一年前完成了这10次编辑。让我们回滚到那个版本的代码库。

它是一个复杂的主题,但基本上SVN,git,CVS,clearcase等都是解决这些问题的版本控制系统。以下是一些要阅读的维基文章。

http://en.wikipedia.org/wiki/Apache_Subversion

http://en.wikipedia.org/wiki/Software_versioning

http://en.wikipedia.org/wiki/Revision_control

答案 3 :(得分:-1)

SVN只是用于存储和访问存储库的方法。像Assembla和AnkhSVN这样的东西只是用来管理存储库的客户端(我相信Assembla也会为你的文件托管服务器)。 SVN只是一个版本跟踪器。它允许您将文件更改发送到存档,以跟踪谁更改了每个文件版本中的内容。它允许您轻松撤消某人在保持其他更改的同时所做的更改。

我从未使用过AnkhSVN,但应该可以使用AnkhSVN连接到Assembla存储库。

答案 4 :(得分:-5)

SVN是版本控制的SubVersion工具。它是一个用Java编写的开源软件。

  • 软件开发人员使用Subversion维护文件的当前和历史版本,例如源代码,网页和文档。