将大型Git/TeamCity项目的问题与4个版本合并
我和我的队友为一家软件供应商工作,为一个客户构建一个大型软件。许多开发人员使用Git进行源代码控制。我们有4个版本:将大型Git/TeamCity项目的问题与4个版本合并,git,merge,Git,Merge,我和我的队友为一家软件供应商工作,为一个客户构建一个大型软件。许多开发人员使用Git进行源代码控制。我们有4个版本: 0.9:生产中 0.9.1:在客户处进行测试 1.0:由我们(软件供应商)进行测试 1.1:正在建造中 我们当前的工作实践是,例如,当您修复示例0.9.1中的错误时 拉取最新的0.9.1,然后将修复推到0.9.1 切换到1.0,拉最新的1.0,合并0.9.1,推到1.0 切换到1.1,拉最新的1.1,合并1.0,推到1.1 问题是,对于几十个开发人员来说,往往有多个人同时
- 0.9:生产中
- 0.9.1:在客户处进行测试
- 1.0:由我们(软件供应商)进行测试
- 1.1:正在建造中
- 拉取最新的0.9.1,然后将修复推到0.9.1
- 切换到1.0,拉最新的1.0,合并0.9.1,推到1.0
- 切换到1.1,拉最新的1.1,合并1.0,推到1.1
- dev1将fix1推到0.9.1,拉1.0并开始合并
- 当dev1合并到1.0时,dev2将fix2推到0.9.1,拉1.0并开始合并他们自己的fix2,但也合并fix1
- 此外,还需要对1.1进行合并
如果dev2在推送时不是最新的,遥控器将拒绝它。在推送之前,您必须是最新的,除非它们是git push-f,这完全是另一个问题。首先,您可能需要将项目“分区”到更多文件中。调制越多,用户越多。总的来说,这是一项非常困难的工作,在某些情况下几乎不可能做到 然后,根据项目大小,基本上有两个选项
- 对于较大的项目:使用 我在这里没有经验,但如果你要做这件事,你应该自己做研究。无论哪种情况,这都是最大的项目所做的,例如 在这种情况下,大多数开发人员应该不能再推送了,并且仍然会有同步工作的痛苦-但是如果您将项目划分为足够多的文件,以便每个开发人员一次只能在一个文件中工作,那么这可能会减少到零。加强第一步,这并不意味着简单地划分文件,而是意味着使每个文件尽可能独立,以便应用
- 对于较小的:坐标。沟通
如果团队规模较小,分支和电子邮件就足够了。联系决定谁先做什么。通过分支,您不必一直合并。然后,如果有需要合并的重大冲突,您可以再次联系。这也不是很容易开始,但它的工作
如果您决定听从nvie的建议,请当心。至少在那个模型上是这样的*