Azure Repos 中的 Git 仓库使用受保护的 master 分支,并且功能开发是在 topic 分支中进行的。为了整合提交历史并确保更改作为单个提交合并,应在分支策略中强制执行哪种拉取请求合并策略?
选择一个答案
点击一个选项来检查您的答案。
正确答案: squash merge.
为什么这是答案
当您希望将功能开发(在 topic 分支中进行)合并到受保护的 master 分支时,并且要确保更改作为单个提交合并以保持提交历史的整洁,squash merge 是最合适的策略。它会将拉取请求中的所有提交压缩成一个单一的提交,然后将其合并到目标分支,从而保持 master 分支的线性历史记录。 fast-forward merge 只有在目标分支没有新提交时才可能发生,它不会创建新的合并提交,而是直接移动分支指针,这不符合“确保更改作为单个提交合并”的要求,并且在有其他提交时无法使用。 Git fetch 只是从远程仓库下载更改,但不会合并它们,因此不是合并策略。 no-fast-forward merge (或称三方合并) 会创建一个新的合并提交,但它会保留所有原始提交历史,这与“作为单个提交合并”的目标相悖,因为它会使 master 分支的提交历史变得复杂。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡