【发布时间】:2014-01-29 16:52:34
【问题描述】:
我们的团队(大约 5 人)以非常混乱的方式构建 Web 应用程序。有一台本地服务器和一台生产服务器。任何开发都在本地服务器上进行,然后上传到生产服务器(当他们认为“完成”时)。这通常以令人讨厌的方式结束。有人在重新设计模板,有人在更改核心功能,有人在构建新功能,该功能依赖于受核心功能更改影响的某些东西——同时。在人们开始工作之前,他们确保他们需要更改的文件是“免费的”,因为文件可以直接访问并且会被覆盖。每个学科都有不同知识的人,我通常需要检查所有所做的更改以确保没有任何变化(回归)。这太可怕了,很难合作。我正在考虑一种方法来改变这种混乱的工作流程。
我读到 Git 可用于管理协作 Web 应用程序,但我不知道如何设置它。本地机器上的分支是行不通的(每个同事都需要有自己的网络服务器、应用服务器、数据库服务器和相同的配置)。同一台服务器上的多个分支(基本上每个开发人员都有自己的分支?)需要一种在按下按钮时提交和合并更改的方法。这甚至可能无需手动完成所有操作吗?
最终,我们需要一个系统,让我们能够:
- 在没有并发依赖项的情况下进行开发(分离的环境)
- 审查/批准提交
- 自动合并已批准的提交
- 自动分发最新版本(强制拉取)
- 还原更改/拆分
我可以想象这与源代码一起工作,除了代码和编译器之外没有什么可共享的。但是严重依赖其环境的 Web 应用程序似乎要困难得多。但话又说回来:也许我还不明白整个事情。 :(
【问题讨论】:
-
天哪。那是非常混乱的。如果您有大约五个人,您可以设置一个 Bitbucket 帐户。有一个五用户免费帐户,可让您将存储库保密。
-
如果我理解正确,每个人都在同一个 Web 服务器实例下开发和测试他们的更改?如果情况确实如此,那就是灾难的根源。每个开发人员都应该有一个隔离的环境来开发和测试他的更改。如今,使用虚拟机之类的东西很容易让每个开发人员都使用相同的配置。因此,没有单独的环境真的没有任何借口。
标签: git web-applications version-control collaboration