【问题标题】:Is it a bad idea to have Git repository in production server在生产服务器中拥有 Git 存储库是一个坏主意吗
【发布时间】:2015-08-31 00:11:00
【问题描述】:

我们有 Windows Server 2012、Apache、PHP 和 MySQL。服务器有点乱。我想要的一件事是跟踪代码的更改。通常我不会在服务器上设置 Git,而是在本地机器上开发,然后使用 SSH 将更改部署到生产服务器。但是这个 Windows Server 2012 不是我设置的,所以有点乱。我无法复制 PHP 代码并在我的机器上开发它,因为它在 PHP 5.2 上运行并且代码已加密。因此,我认为我必须在生产服务器中设置 Git。

不知道,那会不会有性能问题?

【问题讨论】:

  • 为什么你认为将git放在服务器上会影响服务器性能?只是不要将 .git 文件夹放在任何可公开访问的地方,但这与性能无关。
  • @AD7six,一年前我试图在我们的 Linux 服务器上设置 Git,系统管理员告诉我的雇主它可能存在性能问题。
  • 嗯,他已经听够了 =),或者这个故事还有其他内容。这并不是说使用 git 部署是一件“好”的事情(它不是“坏”,它只是在许多情况下不是最好的解决方案),但它只是在服务器上放置了一个您不能直接访问的文件夹。

标签: git


【解决方案1】:

不,我认为 Heroku 服务器不适用于 github,但请小心推送并在分支上工作,而不是直接在 master 上工作。

【讨论】:

  • 嗯,工作环境是2013年以来的生产服务器本身,我不能在外面运行代码,所以它会保持不变。实际上它是一个成品。我们只做维护,有时我们会开发独立的模块。
  • 无论如何push你的工作用SSH还是用git都是一样的; git 使用 SSH 密钥。
【解决方案2】:

从 git(或至少某种形式的版本控制)存储库进行部署是无处不在的标准做法,但进行部署的方法几乎随心所欲。

如果您有存储已部署的每个版本的工作区/文件夹,只需将您的工作副本推送到生产环境即可。

一种模式是使用 git 标记您的版本并在服务器上直接检出 (git checkout v1.0.0),或者使用 git 托管服务器的工具下载标记的 tarball。

例如,您可以像这样从 github 下载标签 v1.0.0 的压缩包:

https://github.com/<user>/<project>/archive/v1.0.0.tar.gz

在 Windows 服务器上运行单个(或多个;签出的工作副本不会引入任何开销)git repo 没有性能开销,但如果直接克隆,请注意不要暴露 .git 文件夹。

另外,切勿强制推送到您的 master(或同等)分支,否则您会自找麻烦。

【讨论】:

    猜你喜欢
    • 2011-01-05
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多