Git rerere 复用冲突解决:文件已改好,为什么仍要检查暂存区 长期维护一个主题分支时,同一处冲突可能在试合并、撤销和再次合并中反复出现。Git rerere 可以记住此前如何把冲突内容改成解决后的内容,在再次遇到匹配冲突时尝试复用。这能省去机械编辑,但历史解法是否符合本次业务要... yunqueblog/ 技术教程/ 2026-10-01/ 2 阅读
Git 判断提交是否已合入:祖先关系成立,和补丁内容相同是两回事 文件里已经有修改,提交为什么还没有合入维护分支里已经出现某次修复,脚本却说原来的提交不在这个分支历史里。这并不矛盾:修复可能通过 cherry-pick 重新形成了另一个提交。两次提交的内容改动可以相同,但父提交不同... yunqueblog/ 技术教程/ 2026-10-01/ 2 阅读
Git log 的 -S 与 -G:查找次数变化,还是查找改过的那一行 变量还叫原来的名字,搜索却漏掉了修改排查配额变更时,你记得变量叫 quota,于是搜索它的历史,却只看到最早加入和后来新增引用的提交,没有看到数值从十改成二十。这未必是历史丢失,更可能是查询问错了问题。同一个词在修改... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Git ignore 不生效:先分清已跟踪文件和忽略规则 把 local.conf 写进 .gitignore 后,git status 仍显示它被修改,通常不是规则缓存坏了。忽略规则主要决定哪些未跟踪路径不再自动进入版本控制,已经在索引中的文件仍会参与比较。本文使用 Gi... yunqueblog/ 技术教程/ 2026-10-01/ 4 阅读
Git cherry-pick 冲突处理:继续、跳过和中止分别改变什么 维护旧版本时,常要把另一条分支的一次修复带回来。cherry-pick 重放的是所选提交引入的改动,不会自动合入那条分支的全部历史。相同补丁放到不同上下文中可能冲突,也可能无冲突却语义错误。本文以 Git 2.50 ... yunqueblog/ 技术教程/ 2026-10-01/ 4 阅读
Git 2.56 新增 add --resolved:只暂存已解决的冲突文件 GitHub在2026年9月28日介绍Git 2.56发布亮点,其中一项是git add --resolved。该模式只处理索引中处于未合并状态的路径,并在暂存前检查普通文件是否残留冲突标记。如果选中的文件中仍存在标... yunqueblog/ 最新资讯/ 2026-10-01/ 3 阅读
Git worktree 实战:保留当前现场,同时开一个修复目录 功能做到一半,线上问题突然需要修复。与其反复保存现场、切换分支和恢复依赖,可以为同一个仓库增加一个工作目录。Git worktree 适合并行查看不同分支、验证历史提交或临时修复;它共享仓库数据,但每个目录拥有自己的... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Git 提交误丢后怎么找回,用 reflog 建立恢复分支 执行 reset、rebase 或切换分支后,git log 里看不到某个提交,不代表提交对象立刻消失。只要本地仍保留相关对象和引用变更记录,就可能通过 reflog 找回。下面的流程先检查,再建立新的恢复分支,不移... yunqueblog/ 技术教程/ 2026-09-30/ 9 阅读