我正在尝试使用 Mercurial 和私有开发服务器改进我们的开发过程,但需要一些关于我们情况下的最佳实践的建议。
- 我们有所有开发人员都可以访问的集中式 mercurial 存储库。
- 每个开发人员都有一台 windows 机器,并使用 NuSphere IDE 进行开发。
- 每个开发人员都有一个私有的 linux 开发服务器,通常在他们的本地网络上可用,但半定期需要通过 VPN 远程访问。
现在,我希望每个开发人员都能够进行开发工作,在他们的私有开发服务器上查看结果,并且在对一个块感到满意时能够将其推送到集中存储库并带有一个很好的提交消息。然后,这将在登台服务器上进行测试,然后继续运行。
但是每个开发人员应该如何通过他们自己的开发机器与他们自己的开发机器共享他们通过他们的 IDE 在他们的 Windows 机器上所做的更改。我曾尝试在开发机器上设置 SAMBA 共享,但通过远程连接速度非常慢。
有人告诉我,我也应该在这部分过程中使用 Mercurial。但是,如果每个开发人员都将所有更改提交到他们的本地存储库,然后在将更改推送到集中存储库时将其推送到他们的私有开发服务器,我们将有大量非常小的提交。这将削弱提交消息的质量,例如“添加丢失的}”、“修复错字 x”或完全丢失提交消息等。
我已经查看了有关合并提交历史的verious hg扩展,但我相信我会遇到问题,因为提交将存在于 2 个存储库(开发机器和开发服务器)上,并且从其中一个存储库中删除提交似乎会导致下次推送的问题。
如何使用 Mercurial 实现持续开发/提交到开发服务器的目标,同时又不混淆共享存储库的历史?