我正在将来自稳定分支的更改合并回开发分支。我希望它是一个“真正的”合并,我的意思是当我这样做时它应该显示一个合并git --graph --oneline
。
问题是,我不想提交来自分支的所有消息,而只是提交我的合并提交消息。(我们开发人员的提交消息必须符合特定模式,由远程挂钩强制执行,但分支上的一些提交来自“发布”用户,不必符合也不需要。)
有没有一种方法可以在不从分支推送提交消息的情况下执行“真正的”合并?
这是我目前的合并方式(来自大师):
git merge -s recursive -X ours --no-commit 1.0_BRANCH
这是我提交后的(经过清理的)图表的样子,这正是我想要的:
* b3492a7 - (HEAD, master) DEV-3: Merging patch fix onto master <graham>
|\
| * eec2ef6 - (origin/1.0_BRANCH, 1.0_BRANCH) [maven-release-plugin] prepare for next development iteration <release>
| * c14dee4 - (application-1.1) [maven-release-plugin] prepare release application-1.1 <release>
| * 40687a4 - DEV-3: Fix to go into the patch <graham>
| * 4e71c98 - [maven-release-plugin] prepare for next development iteration <release>
| * c8828bb - (application-1.0) [maven-release-plugin] prepare release application-1.0 <release>
| * 46a9a59 - [maven-release-plugin] copy for branch 1.0_BRANCH <release>
* | 5ca3ec6 - (origin/master, origin/HEAD) DEV-2: First feature commit of next release <graham>
* | bd797d3 - [maven-release-plugin] prepare for next development iteration <release>
|/
* afff00f - [maven-release-plugin] prepare branch 1.0_BRANCH <release>
* b9329fb - DEV-1: Last feature commit before release <graham>
我的问题是当我尝试推送时,我们的远程钩子拒绝推送,因为提交消息eec2ef6
不符合并且我不是发布用户。我可以仅使用来自 的消息推送我的合并b3492a7
,还是必须压缩合并(我相信这意味着图表不会将其显示为合并)?