我有一个小小的项目,用Git维护它的版本控制。 这里的术语版本控制指的是你可以想象到的最简单的形式: 只在主分支上并且在一天结束时产生提交,将所有提交推送到远程。 目前为止这么好。只需要一个主分支就足够了,因为应用程序的最新状态一直都是需要的。如何使用git发布版本控制版本
然后,采购员告诉我他们需要v1.1和v1.2。问题是最新的主提交包含v1.1的所有内容,以及v1.2的一些撤消内容。
我的第一意图是找到两个'功能包'分歧的基础提交。 我从那个提交创建了两个分支,我开始逐个挑选基础上的提交。幸运的是,其中并没有太多。 这导致两个分支(V1.1和V1.2)保持在适当的合适的东西,除了我,因为在1.1版的功能还需要在V1.2变基V1.2到V1.1
这一切后,我有以下病史:
正如你所看到的,我有一个“悬”分支,它是主,其实,我并不需要这些提交,因为所有的他们被挑选到正确的地方。
问题简单的是:如何优雅地处理这种情况(基本上除去那些不必要的提交)而不会造成任何伤害,或者有没有其他办法可以达到同样的效果?
Mercurial VCS项目使用一个单独的'stable'分支,其中用于下一发行版本的所有提交都合并到该分支中。任何旨在用于发布版本的修补程序都将被提交给该“稳定”分支,并最终被合并到主干(或“默认”分支)中。所有新的,可能是后向不兼容的变化都被转移到主干上。 (请注意:我*不*建议使用汞;我通知用户部分他们的工作流程如何。) – Isxek