我不知道svn。什么是svn?我的朋友告诉我使用 Assembla,它只是一个存储库?还是svn?
如果我使用 svn 客户端,例如 AnkhSVN,我在哪里存储我的项目?在 AnkhSVN 中?还是汇编?如果存储在 Assembla 中,我必须怎么做才能将其连接到 AnkhSVN?
svn 是subversion的缩写,是一种版本控制系统。版本控制是一个巨大的话题——简而言之,这些只是您从使用版本控制中获得的一些好处:
您可以直接从命令行使用 subversion,但也有 GUI 和 IDE 插件可以使 subversion 集成更容易。例如,AnkhSVN 是一个与 Visual Studio 集成的颠覆客户端。
我建议您阅读版本控制方面的内容,然后按照一些颠覆教程来帮助您入门:
阅读(至少)使用 Subversion进行版本控制的前言,这是 SVN 的权威指南。更好的是,通读引言和第一章。希望它能回答你所有的问题。
所以SVN是一个版本控制和修订控制系统。基本上,它允许团队管理共享代码库。
考虑没有这样一个系统的世界。您有两个程序员 A 和 B。还有两个文件 C 和 D。程序员 A 更改文件 C。然后程序员 B 更改文件 C。如果 B 在程序员 A 编辑之前更改了文件的版本,您就会遇到问题。现在您需要同步两者。你如何管理这个?这就是 SVN 所做的。
此外,很高兴能够说我在一年前进行了这 10 次编辑。让我们回滚到那个版本的代码库。
它是一个复杂的主题,但基本上 SVN、git、CVS、clearcase 等都是解决这些问题的版本控制系统。这里有一些维基文章可供阅读。
http://en.wikipedia.org/wiki/Apache_Subversion
SVN 只是一种用于存储和访问存储库的方法。诸如 Assembla 和 AnkhSVN 之类的东西只是用于管理存储库的客户端(我相信 Assembla 也会为您的文件托管一个服务器)。SVN 只是一个版本跟踪器。它允许您将文件更改发送到存档,以跟踪谁更改了每个文件版本中的内容。它使您可以轻松撤消某人所做的更改,同时保留其他更改。
我从未使用过 AnkhSVN,但应该可以使用 AnkhSVN 连接到 Assembla 存储库。
SVN 是用于版本控制的 SubVersion 工具。它是用 Java 编写的开源代码。