小型Web团队的Git工作流程

3

我知道这个主题已经有很多问题了,但是我一直找不到我需要的。我们是一个小型开发团队,目前正在使用SVN,但很快就会转换到Git。我们习惯于在一天中的不同时间检查更改并将其推送到网站,但目前缺乏任何正式的测试程序,这是我们想添加的内容。我用SVN做这件事情的方式是:

  • 在个人测试环境中进行开发
  • 检查更改
  • 将当前仓库文件发送到全局(类似生产)测试Web服务器,并进行测试
  • 将当前仓库文件发送到实际运行的Web服务器

这显然会带来一些问题,尤其是如果沟通不好的话。我曾经经历过未经测试的更改已经上线了,这是我们绝对想要避免的。

我的设想是有一个Git主存储库,保存着正在实际运行的已经通过测试的代码。然后再有一个克隆版本库,用于测试修订版。我想要编写一个脚本,负责从请求的开发人员那里拉取更改,将其放入测试版本库中的分支中,并运行一些自动化测试以确保没有重大错误。当所有东西都检查完毕后,该分支可以合并并推送到主存储库和实际运行的Web服务器中。

我想听听有关这种可能的工作流程以及任何改进或如何以不同的方式执行它的建议。还有,任何设置这个的具体细节也将不胜感激。谢谢!

编辑:我用上述方法已经运行了一段时间,效果还不错。

3个回答

2

你真的需要一个单独的代码库吗? 你的实时代码只有一个分支;你可以使用其他分支作为“部署候选”进行测试。

你不一定需要脚本来拉取更改-开发者可以将它们推送到一个单独的分支,然后调用脚本来测试该分支。


是的,我也考虑过这个问题。这种方法会在代码库中创建大量分支吗?我希望尽可能保持主代码库的清洁。我还应该指出,我的 Git 使用迄今非常有限。大量分支可能并不是什么大问题,但开发人员试图维护它们并知道他们正在使用哪些分支可能是个问题。 - kbosak

1
你有考虑过代码审查吗?Gerrit 可能会有所帮助。
(参见 Android 的 Gerrit 实例,了解其功能。)
然后,你可以设置一个测试环境,从 refs/for/master 拉取一组变更到测试服务器。
这在我的脑海中还比较模糊,但也许对你有所帮助。

0

我也遇到过这个问题,但现在我更关心团队工作流程,而不是如何管理分支。 - kbosak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接