我正在尝试很多,而且我并不想得到这个版本控制在我的场景中如何工作
我有VPS服务器,我托管php网站。用户在/ home / users中拥有主目录。
目前用户通过FTP编辑文件,我无法控制他们的工作。我想在VPS上设置版本控制系统我不知道锄头开始。我的意思是
我会解释我想要的,我可能是错的,但请纠正我。
如何在我的VPS服务器上安装VCS,以便/ home / users中的所有目录都受版本控制。我不知道它是否可能。我希望最终保存位置或回购应该是/home/user/public_html
,以便在用户提交时我的实时网站应该更改。现在我不知道VCS是否以这种方式工作。
现在我的客户端计算机将如何连接该VCS服务器
是否可以为一个用户设置版本控制,我的意思是/home/user1/public_html
而不是其他用户
现在用户仍然会有FTP详细信息,即使我使用VCS也无法通过FTP更改文件
请清除我的怀疑,我真的想学习VCS系统
答案 0 :(得分:3)
您必须决定要使用的版本控制系统。最常见的选项是:
如果您或您的用户已经拥有一个经验,那么它可能是最佳选择。
你想要:
答案 1 :(得分:2)
通常,工作流程是您拥有包含所有修订和更改的存储库。这使用特殊格式,直接访问这些文件没有意义。通常通过WebDAV接口(作为apache模块运行)或运行独立服务器(使用它自己的协议)访问repo。
用户提交他们对回购的更改,然后导出最新版本(或他们选择的一个)到他们可公开访问的* public_html *目录。这涉及他们与VCS交互并了解(并关心)它。
更简单的设置可以是* public_html *包含工作副本,并且它们通过传统FTP与之交互。 (您必须确保普通公众无法访问VCS的文件,例如.svn
文件夹)。通过这种方式,您可以通过Web界面向用户公开VCS功能(基本上是提交和回滚)(您编写一个小的PHP脚本,为您执行提交和更新它们)。
增量备份:完全不同的故事
据我了解,您可能需要更多类似增量备份的功能,例如 rsync 。每次用户关闭FTP连接时,您都可以初始化rsync备份。它具有灵活的选项,您可以在过去X天或最后X个FTP会话中进行所有更改,以便用户可以在意外上载后回滚。 (它可以与远程或本地存储一起用于备份)。
答案 2 :(得分:0)
VCS(版本控制系统)只是一类软件:您需要先选择一个才能实现它。在你的情况下,你可能想要颠覆,或者一个DVCS(分布式版本控制系统)(git或mercurial)。
听起来你想要的是你的网站的某种自动部署系统,这当然是可能的。
禁用ftp很简单:只需停止运行ftp服务器:ftp不安全,服务器本身就很危险。
答案 3 :(得分:0)
了解Branchable的工作原理。他们有特定的Web框架(ikiwiki),但保持网站在版本控制(git)中的基本原则是相同的,他们使用的所有软件都是开源的,包括将它们全部绑定在一起的脚本,所以你可以看看它是如何工作的。