![svn 如何与 apache 协同工作?](https://linux22.com/image/509882/svn%20%E5%A6%82%E4%BD%95%E4%B8%8E%20apache%20%E5%8D%8F%E5%90%8C%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
我已经安装了带有 lamp 的 ubuntu。
我在 netbeans 中编辑了 php 源文件后,使用 webdav 向 ubuntu web 服务器上传/下载文件。但是,我想知道编辑源文件并将这些更改提交到新网站的最佳做法是什么。
因为如果我们有 2-3 个开发人员,我想我们必须使用 svn。但我以前从未使用过它,所以我想知道它是如何工作的。
我应该安装它,然后选择 /var/www (apaches webroot) 作为存储库文件夹吗?那么当我签入时,所有更改都会立即应用?
有人可以解释一下以下步骤:如何下载、编辑源文件、上传文件以及查看网站上的新变化。
因为我之前只使用过本地 apache,而且只有我一个人。现在会有更多的程序员,所以我必须为此设置一个合适的中心环境,并且必须知道 netbeans、svn、webdav 和 apache 如何协同工作。
谢谢!
答案1
这是我的做法,希望对您有所帮助。我为服务器上的每个项目创建一个 SVN 仓库,位于专门用于 SVN 的域 (svn.mycompany.com) 下。我将仓库签出到我的机器上(并且所有其他从事该项目的开发人员也这样做)。当我进行更改时,我会将它们从本地机器提交到服务器上的仓库中。对于公共网站(/var/www
来自您的问题),我会签出源代码的副本与我在本地开发机器上所做的一样。然后,我在服务器上有一个svn update
在远程网站上运行的 subversion“提交钩子”。因此,进行更改的过程如下:
- 使用
svn checkout
(如果这是第一次)或svn update
NetBeans 将最新源代码检出/更新到开发人员的本地机器。 - 做出一些改变
- 使用
svn commit
或 NetBeans 提交更改(当然,包括详细说明更改的内容和原因的提交消息) - 这些更改已提交到服务器上的 SVN 存储库,并且服务器运行
svn update
以将我的更改应用到实际网站。 - 在网站上测试更改,如果需要做更多工作,请重复。
我唯一想补充的是,我使用 SVN hook 更新了临时站点。当客户批准了临时站点后,我可以使用 subversion 来更新实时站点。