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

Git合并分支如何忽略特定提交?C# NuGet项目场景求助

合并分支时排除特定提交的可行方案

核心结论

完全可行,你可以通过两种方式实现将master的新改动合并到测试分支,同时保留分支中「将CFWF纳入AS解决方案」的修改,排除master上的那次revert提交。


操作步骤

假设你的测试分支名为test-cfwf,master上的revert提交哈希为abc123(可通过git log查看),解决方案文件名为AccountServer.sln。

方式一:合并时指定文件策略

  1. 切换到测试分支
git checkout test-cfwf
  1. 执行合并命令,针对revert提交涉及的文件保留分支版本
git merge master -X ours=abc123

该命令会合并master的所有新改动,但对于abc123提交修改的文件(即解决方案文件),强制使用当前分支的版本,忽略master上的revert操作。

方式二:合并后手动恢复文件

  1. 切换到测试分支并正常合并master
git checkout test-cfwf
git merge master
  1. 恢复解决方案文件到合并前分支的版本
git checkout HEAD@{1} -- AccountServer.sln
  1. 修正合并提交,保留恢复后的文件状态
git commit --amend --no-edit

后续合并说明

完成上述操作后,测试分支会包含master的所有新业务改动,同时保留CFWF在解决方案中的本地引用配置,不影响后续测试工作。当未来再次需要将测试分支的业务代码合并回master时,只需再次排除「修改解决方案」的提交即可(比如重复之前的合并+revert流程,或合并时指定文件策略)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 19:03:19