谁能解释一下在Linux中设置版本控制系统的步骤

问题描述

| 我正在尝试很多,但我并没有大胆地了解此方案在我的方案中的工作方式 我有我托管PHP网站的VPS服务器。用户在/ home / users中有主目录。 目前,用户通过FTP编辑文件,而我却无法控制他们的工作。我想在VPS上安装版本控制系统,我不知道该如何启动。我的意思是 我会解释我想要什么,我可能错了,但请纠正我。 我如何在VPS服务器上安装VCS,以便/ home / users中的所有目录受版本控制。我不知道它是否可能。我希望最终的保存位置或存储区应为“ 0”,以便在用户提交时更改我的活动站点。现在我不知道VCS是否能那样工作。 现在,我的客户端计算机将如何连接该VCS服务器 是否可以为一个我指version1的用户而不是其他用户提供版本控制 现在用户仍然具有FTP详细信息,即使我使用VCS,他们也无法通过FTP更改文件 请清除我的疑惑,我真的想学习VCS系统     

解决方法

        通常,工作流程是您拥有一个包含所有修订和更改的存储库。这使用一种特殊的格式,直接访问这些文件没有任何意义。通常通过WebDAV界面(作为apache模块运行)或运行独立服务器(具有其自己的协议)来访问该存储库。 用户将其更改提交到存储库,然后可以将最新修订版(或他们的选择之一)导出到其公共可访问的* public_html *目录中。这涉及他们与VCS进行交互并了解(并关心)它。 一个简单的设置可以是* public_html *包含一个工作副本,并且它们可以通过常规FTP与之交互。 (您必须确保普通大众无法访问VCS \的文件,例如
.svn
文件夹)。这样,您可以通过Web界面(您编写一个小的PHP脚本来为您的用户进行提交和更新)向用户公开VCS功能(基本上是提交和回滚)。 增量备份:完全不同的故事 据我了解,您可能更需要增量备份,例如rsync。每次用户关闭FTP连接时,您都可以初始化rsync备份。它具有灵活的选项,您可以拥有最近X天或最近X个FTP会话中的所有更改,因此用户可能在意外上传后回滚。 (它可以与远程或本地存储一起使用进行备份)。     ,         是的,应该可行。预计会存储一些额外的数据,因为将存储整个历史记录,并为存储的版本存储当前版本的单独副本。 您必须决定要使用哪个版本控制系统。最常见的选项是: 颠覆 吉特 水银 市场 如果您或您的用户已经使用过一种,那么它可能是最佳选择。 你想要: 安装所选的版本控制系统,并创建一个提交后挂钩,以将每个版本签出到目标目录中。 客户将提交到存储库。所有系统都支持通过受限制的ssh访问(用户使用公共密钥登录,并且该密钥在.ssh / authorized_keys中设置为仅允许一个特定命令)。有些还具有基于HTTP的方法(用于Subversion的特殊Apache模块,用于Mercurial,Bazaar和Git的CGI脚本)。 是;钩子脚本将检查您告诉它的内容。您可以实施该程序以结帐所有用户,列出的用户,组中的用户,无论您需要什么。 关闭FTP服务器。     ,         VCS(版本控制系统)只是一类软件:在实现之前,您需要选择一个软件。在您的情况下,您可能想要颠覆或使用DVCS(分布式版本控制系统)之一(git或mercurial)。 听起来您想要的是某种针对您网站的自动部署系统,这肯定是可能的。 禁用ftp很容易:只需停止ftp服务器运行即可:ftp不安全,服务器本身通常也很危险。     ,        看看Branchable的工作原理。他们有特定的Web框架(ikiwiki),但是将网站保持在版本控制(git)中的基本原理是相同的,并且它们使用的所有软件都是开源的,包括将它们绑定在一起的脚本,因此您可以查看怎么运行的。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...