0

我在任何时候都在几十个小型企业网站上做自由职业。通常他们的设置需要本地数据库和其他服务器配置,所以我必须直接在他们的服务器上开发和测试。

目前,我通过 FTP(使用 Transmit)安装客户端的服务器,并直接在其服务器上的站点开发副本上进行更改和测试,并在我对它们的工作感到满意时将文件复制到实时版本。

如果没有 shell 访问(有些甚至是基于 Windows 的服务器),有没有一种方法可以让 Git 进入我的工作流程以维护网站的版本历史?

编辑:由于我将他们的 web 文件夹作为卷安装在我的机器上,我可以使用他们的开发子文件夹作为我的 git 暂存目录吗?我可以进行更改并直接测试它们,然后无需任何额外步骤即可提交。

将 Git 的隐藏文件放在 web 路径中会是一个安全问题吗?文件是远程的这一事实会导致 Git 运行缓慢吗?假设我是唯一在服务器上开发的人,这似乎是一个合理的解决方案。

4

1 回答 1

0

如果不需要在客户端机器上保留存储库的克隆:由于您似乎只在本地处理和测试您的更改,您应该为您的(本地)开发机器上的每个客户端设置一个 git 存储库,该存储库将提供服务跟踪您的更改。然后,一旦您进行了更改/提交/测试,就回退到您当前使用 FTP 复制更改的方式。您将立即获得源代码控制的好处,如果有任何理由在这些机器上克隆存储库,您以后可以随时在客户端机器上设置 git 共享。真正重要的是让您的项目进入任何存储库。

否则,如果您必须在客户端机器上进行 repo 克隆,则有一个快速的替代方法:git installs 通常支持git-daemon它允许客户端/服务器 TCP 访问存储库。虽然没有身份验证,所以最好只在本地网络上使用;因此,在您的情况下,这确实不是一个可行的解决方案。

更好的解决方案是在客户端 Windows 机器上设置某种 ssh 服务器,然后配置跨 ssh 的 git 访问。有几个商业产品试图在 Windows 上实现这个交钥匙:WindowsGitGitStack。两者都是付费软件。

如果你环顾四周,你会发现一些自己做这件事的教程。是一个。

这并不涉及在 Windows 以外的平台上设置 ssh 访问,但通常在 Windows 上设置 ssh 是一项艰巨的任务。

自然,任何解决方案最初都需要对客户端机器进行一些访问以至少设置 git。

于 2012-06-07T22:11:07.140 回答