我正在处理一个特定的git项目仓库。它有三个分支:
当一个版本被认为是发布版本时,需要将其转移到
master
development
release
master
衍生出development
,在此分支上开发和测试功能。一旦一组功能被开发完成,development
将被合并(无快进)到master
中,该合并提交代表发布版本或中间版本。不会直接提交到master
,它只包含来自development
的合并提交。当一个版本被认为是发布版本时,需要将其转移到
release
。这样做的想法是,release
具有线性历史记录,其中每个提交代表一个发布版本。在release
中不应有任何中间提交的痕迹。
以这个例子为例:release/01.03.00.00
代表着与master/01.03.00.00
相同的仓库状态。现在我想在release
中创建一个单一的提交,该提交代表master/01.04.00.00
和master/01.03.00.00
之间的差异。是否可以不使用git patch
来完成?使用git cherry-pick
与一系列提交(请注意,在版本之间有时会有几个合并提交)似乎行不通(它需要-m
来处理合并提交,但随后会抱怨没有合并提交)。