git - 使用 Git 并推送到生产模式(带图表)

标签 git svn github

steps

正如您在图中看到的,您让开发人员从 develop 分支中提取代码,然后在进行更新时将代码推回。 Develop 分支经过测试,然后与 masterrelease 分支 merge 。一旦 merge 完成并且发布分支更新了来自所有开发人员的新代码,它就可以公开了。

我了解Git流程和按顺序工作的做法(当然你们中的一些人可能有其他方式这样做),但是你们如何从测试模式到生产模式?

如果我有一个名为 imagesearch.com 的网站,并且生产文件位于/htdocs/,那么在 merge 之前,您会在服务器上的哪个位置上传代码并测试您的开发分支?

老式的方式是使用您的编辑器连接到 ftp,下载文件,修改它们,然后重新上传它们,一旦上传它们就可以在网站上向用户展示。

1. 当您将代码推送到开发分支时,您如何在服务器上上传/测试它? (当本地测试不是一个选项时)

2. 测试完成后,您将其 merge 到发布版中,如何将新代码推送到生产环境(在该示例中为/htdocs/)?

我了解 Github 的工作原理,以及 Git 本身在处理协作项目和人们为项目做出贡献的开源时的工作方式,但在处理生产环境时,我在哪里以及如何找到最佳实践。我不想从 Git 使用的目录上传我的文件,这似乎会产生安全风险和 Git 可能的文件问题。

最佳答案

在我看来,在将测试部署到生产环境之前不在测试环境中运行测试是一种不好的做法。

但如果这是您想要做的,您可以在 htdocs 旁边的另一个文件夹中将新的开发部署到生产环境中进行测试。

为了回答你的问题,这就是我要做的

1.1 为了跟踪您正在测试的内容,您应该为您的 master/release 分支的当前状态创建一个标签。从你的发布分支运行:git tag your-tag-name

1.2 创建发布分支内容的存档。这将是发布可交付成果。如果您只有静态内容,那么分支的 zip 是完美的。

1.3 将zip上传到生产服务器并解压到htdocs目录旁边的测试目录

1.4 使您的测试目录可从服务器访问并从该上下文路径测试可交付成果

  1. 一旦您对测试结果感到满意,请停止您的服务器,清空 htdocs 目录,将您的发布包解压缩到该目录并重新启动您的服务器。

关于git - 使用 Git 并推送到生产模式(带图表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32404763/

相关文章:

git - 我如何 git 仅添加与模式匹配的行?

git - git 是否值得管理许多大于 500MB 的文件

git - "git stash create x"- 它在哪里?

git - 卡在 git commit 窗口

svn - TFS 与开源替代品?

svn externals ...是还是不是?

推送到 Github 时 Xcode 错误消息 "The remote repository rejected commits"

github - 构建github页面

svn - 与 svn 的连接 trac

github - github 主题怎么了?