网易首页 > 网易号 > 正文 申请入驻

合并冲突修完,为什么别再敲git add -u?

0
分享至

每次合并冲突都以同样的方式收场:改完文件,然后暂存。而恰恰是这个时刻,一个小事故发生了——大多数人出于习惯敲下 git add -u 或 git add .。这两条命令会暂存所有被修改的文件,而不只是你刚刚解决冲突的那几个。

这种坑我踩过不止一次。某个无关文件里留下的 set -x 或调试打印,悄悄跟着冲突解决一起进了合并提交。没人会发现,因为没人会逐行去读合并提交。几周后有人问:为什么启动脚本突然把每条命令都打印出来了?


Git 2.56 终于给出了正经答案:git add --resolved。它只暂存处于冲突状态的文件,并且只要文件里还残留冲突标记,就拒绝暂存任何东西。工作区里的其他内容原封不动。

它到底做了什么

这条命令的行为可以拆成几条清晰的规则:

  • 只看未合并路径,也就是 git status 里的 UU、AA、UD 这些条目
  • 逐个检查这些文件是否还残留冲突标记
  • 只要有文件还带标记,就拒绝暂存任何内容,并列出仍需处理的文件
  • 全部干净,才把它们一起暂存
  • 不在冲突中的已跟踪文件,永远不会被暂存
  • 可以用路径收窄范围,比如 git add --resolved config.ini
  • 不能和 -u 或 -A 组合使用

换句话说,过去的安全做法是手动敲每一个冲突路径。但即便那样,也没有任何机制检查你是否真的清掉了所有冲突标记。现在这一步被工具接管了。

2.56 里还有哪些顺手的变化

这是一个改动很多的版本,翻完发布说明后,挑几个对日常干活最有用的:

  • git branch --delete-merged:删掉那些工作已经进入所跟踪上游的本地分支。它带安全规则——保留当前检出的分支、尚未合并的分支,以及你标记为"保留"的分支
  • git bisect --reset-when-found:一旦找到坏提交,自动结束二分会话
  • git history drop:从历史中间移除某个提交,依赖它的分支会跟着调整
  • git refs create/update/delete/rename:一套可读且安全的 ref 操作方式,不会静默覆盖,更新采用比较并交换
  • git replay --linearize:在内存里把带合并的分支压平,裸仓库里也能用
  • git log --graph:不再把互不相关的历史画得像连在一起
  • [includeIf "worktree:..."]:按目录配置,对链接工作树同样生效
  • fetch.followRemoteHEAD:一个设置,让每个仓库里的 origin/HEAD 与远端保持同步
  • git repack --drop-filtered:在部分克隆里回收磁盘空间

还有些小细节挺讨喜。比如 git push 敲错时现在会给提示:

$ git push origin/main
fatal: 'origin/main' is not a valid push target
hint: Did you mean to use: git push origin main?

另外 -h 在大多数命令里现在以退出码 0 结束(以前是 129),所以脚本里的 git status -h 不再看起来像个错误。

怎么拿到 2.56

Linux 发行版需要一些时间才会带上新版 Git。在我的 Fedora 上,系统 Git 还是 2.55。我不想从源码编译,于是用 mise 配合 conda 后端装了一个预编译版本:

# mise.toml
[tools]
"conda:git" = "2.56.0"
[settings]
experimental = true # conda 后端仍标记为实验性

然后执行 mise trust、mise install,再用 mise exec -- git --version 验证,输出 git version 2.56.0。它不会替换系统 Git,新版本只在这个带 mise.toml 的项目里生效。

从空目录走一遍

拿一个小项目试最直观。下面每一步都在真实终端里用 Git 2.56.0 跑过,冲突在 vim 里解决,和平时干活一样。提示符会显示目录和当前分支,比如 shop (main) $,合并进行中则是 shop (main|MERGING) $。你的提交 ID 会和我的不同,这很正常。

第一步,建仓库:mkdir shop、cd shop、git init、git status,确认还没有任何提交。

第二步,写三个小文件:服务器配置、变更日志、启动脚本。git status --short 会把它们都标成未跟踪(??)。

第三步,首次提交:git add config.ini CHANGELOG.md app.sh,然后 git commit -m "Initial version",再用 git log --oneline 看一眼。这个提交(我这边是 a25ceb7)是两个分支的共同起点。

第四步,开功能分支:git switch -c feature,把服务器端口从 8080 改到 9090,并在变更日志里加一行。git branch 会用 * 标出当前分支,git diff 能在提交前看到这两处改动。

第五步,与此同时 main 分支上有人把 worker 数量提到了 8。这一行紧挨着端口那一行,Git 没法把两处改动自动合并——冲突就此产生。而这,正是 git add --resolved 要登场的地方。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
1979年,李敏替贺子珍申请住房,反被斥为胡闹;开国中将孔从洲拍案而起,怒斥道:没有档案,英雄就活该被埋没吗?

1979年,李敏替贺子珍申请住房,反被斥为胡闹;开国中将孔从洲拍案而起,怒斥道:没有档案,英雄就活该被埋没吗?

人生录
2026-10-02 20:54:54
普京:我们很快都将开上中国汽车,价格便宜质量好,“我的孙辈将来会做翻译,他们会说中文”!特朗普、马斯克等人的后代也在学中文

普京:我们很快都将开上中国汽车,价格便宜质量好,“我的孙辈将来会做翻译,他们会说中文”!特朗普、马斯克等人的后代也在学中文

台州交通广播
2026-10-02 15:29:45
就在刚刚,邓亚萍不再沉默!直面王曼昱让球保单打传闻,揭露一个小圈子的陋习

就在刚刚,邓亚萍不再沉默!直面王曼昱让球保单打传闻,揭露一个小圈子的陋习

篮球热嗖
2026-10-02 20:13:56
防不住“小仙女”啊!商家苦防7天白嫖,一件旗袍挂两条长丝带,网友:那些脸皮厚的,根本不在乎,不剪不就行了

防不住“小仙女”啊!商家苦防7天白嫖,一件旗袍挂两条长丝带,网友:那些脸皮厚的,根本不在乎,不剪不就行了

火山詩话
2026-10-03 05:47:09
澳门赌输10亿水落石出,黄晓明不再隐瞒,原来背叛婚姻的不是杨颖

澳门赌输10亿水落石出,黄晓明不再隐瞒,原来背叛婚姻的不是杨颖

一念痴狂
2026-10-01 14:01:24
受冷空气影响北京今明风雨降温来袭 阵风可达7级左右

受冷空气影响北京今明风雨降温来袭 阵风可达7级左右

财联社
2026-10-03 08:16:10
主帅邵佳一回应“国足0:5不敌巴勒斯坦队” :非常抱歉以这样的比分失利,我接受一切批评,整个团队状态都不在线

主帅邵佳一回应“国足0:5不敌巴勒斯坦队” :非常抱歉以这样的比分失利,我接受一切批评,整个团队状态都不在线

扬子晚报
2026-10-02 22:29:53
狂!两次硬拒拜仁天价邀约!巴萨巨星如今彻底封神

狂!两次硬拒拜仁天价邀约!巴萨巨星如今彻底封神

奶盖熊本熊
2026-10-03 07:41:13
4年血亏9亿!“打败皮鞋的,并不是另一双皮鞋”,皮鞋被时代抛弃

4年血亏9亿!“打败皮鞋的,并不是另一双皮鞋”,皮鞋被时代抛弃

李砍柴
2026-10-01 17:00:17
赵世通,任福建省委常委、统战部部长!江苏省水利厅副厅长王冬生,拟任新职!

赵世通,任福建省委常委、统战部部长!江苏省水利厅副厅长王冬生,拟任新职!

靓仔情感
2026-10-03 13:13:47
文章大女儿文君竹18岁啦!波波头发型超像马伊琍,脸型却随了爸爸

文章大女儿文君竹18岁啦!波波头发型超像马伊琍,脸型却随了爸爸

海棠未眠a
2026-09-22 03:20:12
国庆首日272万人挤爆南昌地铁,穷学生的旅行账值得看

国庆首日272万人挤爆南昌地铁,穷学生的旅行账值得看

抽烟不喝酒饮茶不读书
2026-10-03 04:47:36
龙芯都那么强,只落后intel两年了,为何大家死活不愿意用?

龙芯都那么强,只落后intel两年了,为何大家死活不愿意用?

互联网.乱侃秀
2026-10-03 11:30:53
央视国庆晚会口碑大爆,满屋子成名歌手,愣是唱不过3个跨界演员

央视国庆晚会口碑大爆,满屋子成名歌手,愣是唱不过3个跨界演员

一个小豹子
2026-10-02 21:14:48
北京老太住养女家20年,临终给养女2万的卡,养女取钱时却傻眼了

北京老太住养女家20年,临终给养女2万的卡,养女取钱时却傻眼了

牛魔王与芭蕉扇
2025-03-19 15:55:23
美国被曝正向中东派遣第三艘航母,增派近万名士兵

美国被曝正向中东派遣第三艘航母,增派近万名士兵

澎湃新闻
2026-10-02 11:14:24
笑死!北京会惩罚每一个过度规划的游客,网友:兵马俑都没你能走

笑死!北京会惩罚每一个过度规划的游客,网友:兵马俑都没你能走

夜深爱杂谈
2026-10-01 20:22:18
中日若开战,将是地狱模式!全球终于清醒了:中国这次不是在演戏

中日若开战,将是地狱模式!全球终于清醒了:中国这次不是在演戏

叶葉夜
2026-08-31 11:23:21
惊人的母子定律:一个男孩的命,看他母亲就知道

惊人的母子定律:一个男孩的命,看他母亲就知道

金哥说新能源车
2026-10-01 21:32:36
亚运夺金后大方认爱!羽毛球名将载誉回国公开女友,事业爱情双丰收

亚运夺金后大方认爱!羽毛球名将载誉回国公开女友,事业爱情双丰收

体坛小二哥
2026-10-02 22:47:05
2026-10-03 15:00:49
Ping值焦虑
Ping值焦虑
有态度网友ytd
198文章数 106关注度
往期回顾 全部

科技要闻

英伟达盘中创历史新高,市值逼近6万亿美元

头条要闻

以高官:爱尔兰人若想帮加沙人 就应把他们带去爱尔兰

头条要闻

以高官:爱尔兰人若想帮加沙人 就应把他们带去爱尔兰

体育要闻

这个讨论了一夏天的问题,马刺有答案了吗

娱乐要闻

假期快乐!贾乃亮晒和甜馨国庆出游照

财经要闻

4亿台电视挂墙落灰 为何没人愿意开了?

汽车要闻

方程豹9月热销破4万 首款皮卡鲨鱼将于四季度上市

态度原创

教育
旅游
房产
公开课
军事航空

教育要闻

走通初高中日语教材!人教版日语新教材衔接指南!

旅游要闻

文化“圈粉”、“进货式”旅游 中国游“立体化出圈”吸引海外游客

房产要闻

实景呈鉴,大境盛放|中粮·铂悦壹号全维实景示范区盛大启幕,焕新三亚理想人居

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美国被指正向中东派遣第三艘航母

无障碍浏览 进入关怀版