学习如何使用Subversion

时间:2020-03-06 14:38:08  来源:igfitidea点击:

对于开发人员类型的人来说,这可能是一个听起来很愚蠢的新手问题,但是我很茫然:(我一直在尝试学习如何使用Subversion来保存代码的历史记录,但是我正在寻找我读了Subversion随附的"书",但并没有发现所有的帮助。我使用Windows,并为此下载了TortoiseSVN GUI。

我真正想知道的唯一方法是创建一个新项目,在其中放置一个文件(任何旧文件),然后更新该文件,以便我可以看到它的工作原理。我创建了一个"存储库"(在svn_repository / test中),如果有人可以告诉我如何创建一个新文件/将文件放入其中,然后更新该文件,我将非常高兴: )知道我的运气,就像"将文件拖放到目录中"一样简单。很抱歉提出这样一个愚蠢的问题!

另外,如果有人可以告诉我如何使它与Zend Studio一起使用,那将是额外的好处。谢谢!

解决方案

看看这个问题,它从svn开始有一些很好的指导

存储库是Subversion本身管理文件的地方,我们将无法直接访问存储库中的文件。如果我们已经创建了存储库,那么下一步是从存储库到某个工作目录进行检出。 (此工作目录不应是存储库的子目录。)

签出后,将文件放到其中,然后右键单击以添加它。从这一点来看,其他操作应该更有意义。

我真的很喜欢将AnkhSvn与Tortoise结合使用。它可以在Visual Studio中使用。当我设置自己的存储库时,我使用了VisualSVN,该过程耗时2秒钟,并且不涉及任何apache或者LAMP内容。刚开箱即用。至于使用它,请尝试在线免费阅读以了解源代码控制的全部内容。然后转到一个网站,例如http://blog.taragana.com/index.php/archive/5-minutes-guide-to-subversion/,以获取有关如何使用它的快速教程。

我发现TortoiseSVN非常令人困惑,尤其是与SVN Book结合使用时。但是话又说回来,我不是一个非常注重GUI的人。

使用命令行SVN客户端浏览本书,直到我们了解基本概念为止。不要跳过任何章节!

然后,如果我们那时甚至需要一个GUI,就可以评估GUI。

推荐的Subversion版本库目录结构包含三个文件夹:"分支","标签"和" trunk"。因此,请在方便的位置在新文件夹中创建这些文件夹。

右键单击这些文件夹的父文件夹,转到TortoiseSVN,然后选择导入。输入我们在此处创建的存储库的url(即,我在本地计算机上刚刚创建的存储库(即,https:// JUNK:8443 / svn / Test /)。点击确定按钮,文件夹将被导入。

现在浏览到我们希望存储库位于本地计算机上的位置(我已经去过C:\ workspace \ test)。右键单击并转到SVN Checkout。

现在,我们想从存储库的主干中签出,因此更改存储库URL以反映此内容(https:// JUNK:8443 / svn / Test / trunk /)。点击确定按钮。

在此目录中创建一个新文件。右键单击它,然后转到TortoiseSVN,然后单击"添加"。单击确定,该文件现在被标记为该存储库的新文件。右键单击文件的父文件夹,我们应该会看到SVN Update和SVN Commit。 SVN更新将使用存储库中的文件刷新本地文件。 SVN Commit会将已更改的本地文件发送回存储库。

玩得开心 :)

通常,当我创建一个新项目时,我必须参考SVN快速入门指南。

它带领我们完成创建新存储库,初始导入以及如何检出文件(在命令行中)和将其检入的过程。

这本书非常有帮助,但是使用版本控制一段时间后,我们会从中获得最大的价值,并且可以更好地理解这些概念。

(请注意下面以粗体显示的术语)

如果我们使用的是TortoiseSVN,则必须创建存储库,然后在启动时导入文件(如果有)。之后,我们可以将项目检出到工作文件夹中,并且可以仅在工作文件夹中创建文件,然后轻松地添加它们。创建存储库后,我们只能通过Subversion客户端与存储库进行交互。

SVN书中有一个名为" Subversion快速入门指南"的附录,该附录快速介绍了最基础的知识。这是一个快速概述。

对于初始设置,我在SVN服务器上创建一个临时文件夹,用于设置站点的结构。这只是一个临时文件夹,完成初始设置后就将其删除。我通常将其称为C:\ tmpRepository。然后,在其中为我的项目名称创建一个新文件夹。因此,可以说项目名称为test。我将创建c:\ tmpRepositories \ test。在该文件夹内创建三个文件夹:分支,标签,主干。然后将项目文件复制到中继目录中。

现在打开命令提示符,然后键入以下内容以创建新的存储库。
svnadmin创建c:\ AppRepositories \ test。我只是将所有源代码保存在AppRepositories文件夹中,然后使用新文件夹设置每个项目。

接下来,我们需要使用temp目录中的文件加载新的存储库。因此,在命令提示符打开的情况下,我们运行:
svn import c:\ tmpRepositories \ test file:/// c:/ AppRepositories / test -m"初始导入"

而已!然后,在开发计算机上,我们应该安装TortoiseSVN。我们将需要在计算机上设置一个位置,用于存储文件的工作副本。我通常只在C:驱动器上创建一个名为" WorkingCode"的文件夹。打开该文件夹,右键单击并选择SVN Checkout。在存储库的URL下,输入svn:// servername / test。确保检出目录正确。

AM!现在,我们应该在中继目录(c:\ workingcode \ test \ trunk)中看到所有代码文件。

实用主义者撰写了有关使用Subversion的好书:http://www.pragprog.com/titles/svn2/pragmatic-version-control-using-subversion

我们要求一个文件项目,所以就在这里。我对Tortoise不太熟悉,无法以这种方式运行它,但是我将列出命令,并希望我们可以通过右键单击File Explorer自己弄清楚如何执行每个步骤。实际上,我们只需要执行五件事:创建存储库,检出,"添加"文件以使其受版本控制,检入和登录。其余的将在以后。

另外,某人以后可能会搜索不使用Tortoise的leanring颠覆,他们会找到这个问题。

# create an empty repository
svnadmin create myrepos

# check out a working copy of the empty repository
svn co file://full/path/to/myrepos workingcopy

# create an empty file in workingcopy (nothing to do with SVN - use 
# File > New > Text Document if you like)
cd workingcopy
touch mycode

# place it under version control, then tell the repository what you've done.
svn add mycode
svn ci -m "My first ever checkin comment! File created."

# Now we're developing. Go edit the file. Come back when you're done.

# Check it back in
svn ci -m "First version of project"

# Go edit it again

# Check it in again
svn ci -m "Made my project better"

# See what we've done so far
svn log mycode

而已。这是对单个文件进行版本控制的最低要求。现在,重新阅读SVN书籍的开头,删除myrepos,然后重新开始,因为我们可能想要按照告诉方式构造第一个适当的存储库。