1

目前我有一个本地 git repo,它位于 H: 驱动器中。当我对文件进行更改并保存它们时,它们会存储在这里。然后,我可以在我的 git 服务器上的远程仓库中提交、推送和拉取文件和分支。

我想做的是处理文件,而不是将它们保存到本地 H 驱动器,我想将它们保存到我的测试服务器上,以便可以在浏览器中从该服务器运行和测试它们。当所有测试完成后,我想将文件从测试服务器合并到实时服务器,并将它们作为实时系统,或者我需要从我的测试服务器和我的实时服务器中提取文件并在本地合并它们并将主分支推回实时服务器?

此外,当分支合并到我的实时主分支并推送到实时服务器时,我将如何从 git repo 中“解包”所有文件,以便它们可以作为实时站点运行。

我已经尝试git archive并继续阅读git bundle以尝试看看这是否可以让我进行某种“解包”,但到目前为止我还没有能够实现任何我可以真正使用的东西。

这是否有可能按照我所描述的方式工作,如果是这样,你将如何去做?

如果这是不可能的,或者如果有更好的方法可以做到这一点,我忽略了,请告诉我。

4

2 回答 2

1

我不知道您对拆包的意思是什么,但我想您正在寻找的是部署更改的可能性。假设您正在开发您的应用程序,并且为此使用了 staging 或 dev 分支。现在,如果您想在您的测试服务器上测试您的应用程序,您首先必须将所有内容推送到您的存储库。你可能想看看Capistrano。使用 Capistrano,无论您使用哪种编程语言,您都可以轻松部署您的应用程序。这样做的过程是首先使用“sudo aptitude install capistrano”甚至更好的“gem install capistrano”安装 Capistrano。现在您已经拥有它,您可以在本地转到您的应用程序并输入“capify”。. 现在 Capistrano 应该创建一些文件,您应该打开 .config/deploy.rb 并为存储库、目标服务器和要推送到目标服务器的分支插入数据。有几个 HowTo,但你对 default.rb 应该很熟悉。现在通过 Capistrano,您的测试服务器链接到存储库的暂存分支,您可以使用“cap staging deploy”通过 ssh 将您的应用程序部署到测试服务器。如果一切正常,您可以在本地将暂存分支合并到主分支并将其推送到您的存储库中。现在,由于您的 Live 系统应该链接到您的 repo 的 master 分支,您可以键入“cap production deploy”让应用程序在您的 live 系统上运行。您可能需要关心数据库迁移,但总的来说就是这样。

快速安装/配置,您将拥有比现在更好的工作流程。

如果您没有 ssh 访问服务器的权限,您可以查看 git-ftp。希望这对您解决问题有帮助。

于 2012-12-05T15:12:41.363 回答
0

如果您的测试服务器在您的 LAN 上,您可以在其上安装 Samba,然后将其 webroot 挂载为您的 H: 驱动器。如果它是远程服务器,则某种 SSHFS 客户端(例如 Expandrive)可能会起作用。

于 2013-01-24T06:04:40.840 回答