Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Web开发的SVN指南_Svn - Fatal编程技术网

用于Web开发的SVN指南

用于Web开发的SVN指南,svn,Svn,我正在寻找一些帮助,在使用svn与web开发 以下是我的问题 我在我的Web服务器上设置了SVN,但是在我准备好“提交”项目文件之前,请将项目文件保存在我的PC上 如何获取已发送到服务器的目录(如/home/site/public\u html/)中的“推送”文件。。基本上,我希望将文件直接“提交-推送”到我的web目录。这可能吗 我真的不太明白这对web开发如何起作用的完整概念。我至少读过十几本指南,但没有一本真正一步一步地概述了我需要做什么 对于上述问题的一步一步的指导,或是一个善意的回应来

我正在寻找一些帮助,在使用svn与web开发

以下是我的问题

  • 我在我的Web服务器上设置了SVN,但是在我准备好“提交”项目文件之前,请将项目文件保存在我的PC上

  • 如何获取已发送到服务器的目录(如/home/site/public\u html/)中的“推送”文件。。基本上,我希望将文件直接“提交-推送”到我的web目录。这可能吗

  • 我真的不太明白这对web开发如何起作用的完整概念。我至少读过十几本指南,但没有一本真正一步一步地概述了我需要做什么

  • 对于上述问题的一步一步的指导,或是一个善意的回应来帮助我将不胜感激

    运行windows 7@home(我正在开发的)运行CentOS 5服务器(live Web服务器)


    谢谢您的帮助。

    首先,我建议您下载。它是SVN的集成桌面客户端。您可以使用它将文件提交到存储库

    就流程而言:

    • 您是否在您的PC上进行本地开发
    • 准备好后,将文件提交到存储库
    • 提交后,从存储库更新Web服务器上的副本。您可能必须通过命令行执行此操作。以下是指向SVN命令行的链接:
    您不希望像FTP客户端一样使用SVN。它是一个版本控制系统。因此,存储库是数据的一个真正的主副本。Web服务器和本地计算机上的内容都是该数据的副本。这样做的原因是你想要一份你知道是一份好的工作副本。SVN将允许您将代码库恢复到任何时间点,因此它还充当存档


    上述场景假设您能够测试和验证您的代码是否在您的PC上运行。您的PC上是否运行Web服务器版本?

    您对页面进行更改,并对页面执行svn提交,以将这些更改保存为svn服务器上的修订版。当您想要在Web服务器上获得一个干净的副本时,请在您想要文件所在的目录中进行svn导出。这与svn签出不同,因为它不会添加svn在源代码管理中使用的所有.svn元数据文件。这也是一个缺点,因为每次都需要导出所有文件。如果您在目录中执行svn签出,所有元数据也将在web目录中,但是您可以轻松地删除它们(可能需要使用脚本)。这将允许您只需在web目录中执行svn更新,即可将所有未来更改拉入web目录。

    当您说:

    基本上我想“提交-推送” 文件直接到我的web目录。是 这可能吗

    听起来您希望将更改提交到SVN存储库,并将其自动推送到web服务器。如果这是真的,您可以通过使用SVN post commit钩子来实现这一点。在您的系统上,在SVN存储库目录中,这是一个名为“hooks”的子目录。编辑名为
    post commit.bat的文件,并将其导出到您的web服务器,例如:

    svn export <svn_repo> <webserver_location>
    
    svn导出
    
    您可能还想编写一个脚本,自动执行
    svn导出
    以及启动和运行一切所需的任何其他操作。导出仍然需要同样长的时间,但您可以启动它,在它运行时担心其他事情。是的,这就是我的意思。但我要做的是,在一个目录上使用一个名为svn update的脚本,该目录不是面向web的目录,而是包含一个签出,然后将文件复制到web目录。这样,您只需获取更改后的文件,并将所需文件复制到web目录,而无需所有元数据。感谢您提供的信息,请立即尝试设置所有这些内容。:)是的,我在本地主机上运行xampp。顺便说一句,Ty的信息非常有用。+1是-很好的捕获。我忘记了post commit hook选项。这正是我想要的,向您致敬,先生。@Anon-首先,欢迎使用堆栈溢出!确保投票,更重要的是,接受(点击复选标记)答案。否则,你将来不会得到好的答案。