我的公司正式使用 Subversion,但我在日常工作中使用 Mercurial 和 hgsubversion 插件。
我倾向于一次拥有多个本地功能分支(hg 书签)。当我在一个分支上完成工作时,我会将它变基到 Subversion 主干的顶端,并将整个分支历史推送到 Subversion 存储库中。
我喜欢我所有的细粒度更改都进入主存储库 - 我的同事可以看到我为什么要进行更改,而不仅仅是最终结果。但是推送到 Subversion 会重写我的提交,将时间戳更改为推送的时刻,所以我从我的工作历史中失去了一点保真度。
我开始怀疑我是否应该合并我的本地分支以推送到 SVN,并在我的 Hg 存储库的分支中维护我的本地提交历史记录。如果我转向面向合并的工作流程,我会伤害我的团队吗?是否真的可以用单个提交消息总结合并中的更改?
Git->Subversion 是否有同样的二分法?除了这个哲学问题,我对 Hg->Subversion 工作流程非常满意。但是,与我交谈过的任何 Git 用户似乎都讨厌将 Git 作为 SVN 的前端,而不仅仅是对开源项目进行简短的检查和补丁提交。