You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hg中将分支推送到远程且不与default分支合并?

在Mercurial中推送新分支且不合并到default分支的方法

1. 本地创建并提交新分支

  • 先确认当前工作目录无未提交变更(用hg status检查),然后创建新分支:
    hg branch <你的分支名>
    
    示例:hg branch feature-user-profile
  • 完成代码修改后,提交到新分支:
    hg commit -m "feat: 初始化用户资料功能分支"
    

2. 推送新分支到远程仓库

直接推送指定分支,这样只会把目标分支的变更推送到远程,不会涉及default分支的合并:

hg push --branch <你的分支名>

也可以用变更集推送方式,效果一致:

hg push -r <你的分支名>

3. 避免误合并的关键操作

  • 拉取更新时指定分支:后续拉取远程该分支的更新时,同样指定分支,防止把其他分支的变更拉到本地default分支:
    hg pull --branch <你的分支名>
    
  • 远程仓库分支保护(可选):如果要从根源防止合并到default,可以在远程仓库的.hgrc配置文件中添加钩子脚本,拒绝合并到default的变更。示例配置:
    [hooks]
    pretxnchangegroup.forbid-merge-to-default = python:scripts.forbid_merge_to_default
    
    对应的Python钩子脚本可检查变更集中是否存在合并到default的操作,若有则终止推送。

注意事项

  • 推送前用hg branches查看本地分支状态,hg outgoing确认待推送的变更仅属于目标分支
  • 不要随意使用hg push --force,避免覆盖远程分支的有效变更
  • 如果远程仓库默认设置为推送所有分支,必须明确指定分支名,防止误推其他分支内容

内容的提问来源于stack exchange,提问作者Suva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:15:33