【问题标题】:Using GIT on a development server [closed]在开发服务器上使用 GIT [关闭]
【发布时间】:2014-08-08 13:15:28
【问题描述】:

是一个小型 wordpress 开发团队,他们目前使用 mamp 在开发服务器上构建我们的项目,一旦项目准备好上线,我们会将站点文件通过 FTP 传输到生产服务器。目前,当开发人员需要处理文件时,他/她将从 dev.development.com 服务器中提取该文件,并在完成后重新上传文件,以便客户端可以在将文件通过 FTP 传输到生产服务器之前批准更改。

我们正在试验 GIT 和 bitbucket 解决方案,并且想知道如何使用这些工具对我们的代码进行源代码控制。在过去的几天里,我们尝试了各种方法,但在如何在开发服务器上维护代码库并让开发人员在本地工作方面遇到了问题。开发服务器是一个连接到我们所有 Mac 的联网服务器,并具有我们用来连接 WordPress 站点的 mysql 数据库。

有没有人有这方面的经验或知道如何通过我们的设置进行源代码控制 - 我们热衷于使我们的方法现代化,但我们喜欢让我们的开发服务器工作的想法。

提前致谢。

编辑 - 对于 SO 巨魔来说,这里的问题是:当您有开发人员和客户端访问的本地开发服务器时如何设置 git?

【问题讨论】:

  • 就目前而言,这个问题太宽泛了
  • 抱歉,当您有开发人员和客户端访问的开发服务器归类为广泛时,如何询问如何设置 git??
  • thisthis
  • 理论上你本可以在你发声的时候为我回答这个问题:)
  • 理论上,也许吧。实际上,我绝对不能在 2 分钟内回答这个问题。

标签: wordpress git bitbucket development-environment


【解决方案1】:

GIT 的典型发布生命周期可能如下所示

发展:

  • 所有开发人员都在其开发系统上使用 GIT 存储库的本地副本。您可以让他们定期运行“pull”命令,以确保他们使用的是最新代码:http://git-scm.com/docs/git-pull
  • 当他们完成更改时,他们通过“推送”命令将其提交回 Bitbucket 存储库:http://git-scm.com/docs/git-push。理想情况下,他们会指定提交消息,以便您可以跟踪他们正在更改的内容。

升级到测试服务器

推广到生产

  • 当您有一个候选版本(一组客户已签署的更改)时,您将在存储库中“标记”它们。一个标签基本上说“代码库是稳定的,可以发布了”:http://git-scm.com/docs/git-tag注意:您需要确保标记的是经过测试的准确修订版,因此请务必跟踪它。 (或者,您可以对它更严格,只将标记版本部署到测试服务器,但如果在发布过程中没有单独的系统集成环境/步骤,这不会增加太多价值。)
  • 然后,您可以将该特定标签部署到生产环境,或多或少采用与上述测试服务器部署相同的方式(使用存储库中标记版本的内容覆盖 prod)

这是一个很好的 GIT 入门/参考资料,可能对您有用:http://rogerdudler.github.io/git-guide/

希望这会有所帮助!如果有任何不清楚的地方,请告诉我,我会修改答案。

【讨论】:

  • 感谢@Adam M - 我了解如何在单独的开发环境中使用 git。多个开发人员是否可以在开发服务器上工作,或者他们是否必须设置本地版本才能使用,然后推送到存储库。开发者会从那里拉到开发服务器??
  • 理想情况下,每个人都有自己的本地环境,是的。版本控制的主要好处之一是它允许团队在系统的相同部分上工作,而不必担心锁定相同的物理文件、意外覆盖另一个开发人员的更改等。如果由于以下原因而无法做到这一点基础设施限制,您可以考虑在单个物理开发服务器上设置多个开发环境。这样,您仍然可以获得版本控制的全部好处,而无需许多本地环境。
  • (如果我的 GIT 使用细节过于冗长,我很抱歉,只是不确定您的经验水平)
  • 谢谢 :) 澄清一下,开发人员将拥有他们正在处理的代码的本地版本。 1 个将用作实时代码的主分支。具有功能等的多个开发分支。我们拥有的开发服务器可以拉一个特定的分支来显示客户端等吗?
  • 有几种不同的方法来处理分支,这取决于团队正在做什么。一个典型的用例是为大型功能分支,但在主分支中进行较小的更改。当大型功能完成后,您会将它们交付回主分支。至于部署到开发服务器,您可以部署任何东西(主分支、功能分支或标签)。我只会建议将标签部署到生产服务器,因为这是一种通用的版本控制最佳实践(无论 GIT 与 SVN 与其他什么)
猜你喜欢
  • 2012-01-22
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 2012-11-11
  • 1970-01-01
  • 2013-02-16
  • 2014-11-24
相关资源
最近更新 更多