【发布时间】:2016-08-01 07:10:53
【问题描述】:
Gitlab 是否支持 --no-ff 合并请求?
我在 Gitlab 中找到的,它只支持快进模式。在 Github 中,我们提供了 2 个选项:合并或压缩 (--no-ff)。
我想在批准合并请求时丢弃 Gitlab 主分支中的详细提交消息。这就是为什么我希望 Gitlab 中有 squash 选项。
【问题讨论】:
标签: gitlab
Gitlab 是否支持 --no-ff 合并请求?
我在 Gitlab 中找到的,它只支持快进模式。在 Github 中,我们提供了 2 个选项:合并或压缩 (--no-ff)。
我想在批准合并请求时丢弃 Gitlab 主分支中的详细提交消息。这就是为什么我希望 Gitlab 中有 squash 选项。
【问题讨论】:
标签: gitlab
您可以在 repo 设置中配置 合并方法。可用选项有:
合并提交
每次合并都会创建一个合并提交,并且允许合并为 只要没有冲突。
将提交与半线性历史合并
为 每次合并,但只有在快进合并是允许的情况下才允许合并 可能的。这样你可以确保如果这个合并请求 将构建,在合并到目标分支后它也会构建。什么时候 快进合并是不可能的,用户可以选择 变基。
快进合并
没有创建合并提交,所有合并都是快进的,这 意味着只有当分支可以合并时才允许合并 快进。当无法进行快进合并时,用户 可以选择变基。
这也适用于自托管 GitLab 社区版。
【讨论】:
挤压与--no-ff(无快进)没有真正的关系
如果您只想删除噪音提交消息。你想压缩你的提交。如果您想删除合并提交,您可以快进(通过执行 rebase 来实现)。
要压缩,您可以通过命令行使用
git rebase -i HEAD~[NUMBER OF COMMITS]
或
git reset --soft HEAD~3
git commit -m "New message for the combined commit"
(还有其他方法可以实现)
gitlab 上还有一个选项可以在合并时为您压缩提交。它使用合并请求的标题作为提交消息。
一个例子
您使用标题打开合并请求
“WAR-132:上传文档时显示确认对话框”
此合并请求包含三个提交
WAR-132: Make code more concise.
War-132: Add missing specs (and reorder, reformat of tests)
WAR-132: Display a confirmation dialogue when the document is uploaded
通过勾选 squash 提交选项(位于合并按钮旁边)。
您最终会将以下提交添加到您要合并到的分支中。
WAR-132: Display confirmation dialogue when document uploaded
【讨论】: