如何无需checkout,用--no-ff将当前feature分支合并到master?
无需切换分支,将feature分支以--no-ff方式合并到master
如果不想切换到master分支,可以通过直接创建合并提交并更新master分支指针的方式完成操作,具体命令如下:
git update-ref refs/heads/master $(git commit-tree -p master -p HEAD -m "合并feature分支到master" $(git write-tree))
命令解释:
git write-tree:将当前暂存区的内容写入一个新的树对象(若当前暂存区干净,该树对象对应feature分支最新状态合并到master后的结果)git commit-tree -p master -p HEAD -m "提交信息":创建一个合并提交,父节点分别是master分支的当前HEAD和当前feature分支的HEAD,同时指定提交信息git update-ref refs/heads/master [新提交哈希]:将master分支的指针指向刚创建的合并提交
注意事项
- 该方法仅适用于合并无冲突的场景,如果feature和master分支存在代码冲突,无法通过此方式自动解决,必须切换到master分支处理冲突后再完成合并
- 执行前确保当前暂存区是干净的(可通过
git status检查),避免暂存区的未提交变更影响合并结果
内容的提问来源于stack exchange,提问作者Jackoo
相关产品推荐
相关产品推荐

