Bisect 在 skipped commit 上卡住
git bisect 二分查找 bug 时,因为大量 commit 无法构建而反复执行 skip,最终 bisect 无法确定 first bad commit 就退出了。本文给出绕过 skip 区间、精准定位 bug 引入点的操作技巧。
带有该标签的文章
git bisect 二分查找 bug 时,因为大量 commit 无法构建而反复执行 skip,最终 bisect 无法确定 first bad commit 就退出了。本文给出绕过 skip 区间、精准定位 bug 引入点的操作技巧。
PR 所有 review 都通过了,CI 也是绿色,但合并按钮还是灰色或提示保护规则未满足。本文逐一拆解 GitHub、GitLab、Bitbucket 的分支保护规则,给出快速诊断和解决方案。
cherry-pick 遇到冲突,手动解决后执行 --continue,结果提示 'nothing to commit' 或产生了一个空 commit。本文解释空 commit 的触发机制,给出正确处理流程和跳过方式。
git pull 或 push 时反复弹出密码提示或报 403 / 401,明明凭证正确却始终认证失败,甚至凭证 helper 进程锁住导致操作卡死。本文给出清理缓存凭证、重置 helper 配置的完整修复方案。
切换到某个 commit 或 tag 后不小心创建了新提交,切换分支后这些 commit 消失了。本文讲清楚 detached HEAD 的本质,给出用 reflog 找回并挂回分支的完整操作。
执行 git push --force 后发现远端分支丢失了队友刚推送的提交,其他人拉取后工作消失。本文给出找回 commit、通知团队同步的完整操作步骤和防护机制。
团队配置了 pre-commit、commit-msg 等 git hooks,但新成员 clone 后这些 hooks 从不触发,代码质量检查和格式化完全失效。本文解释为什么 hooks 不随 clone 传播,并给出正确的团队 hook 分发方案。
某次 commit 误提交了大文件,之后每次 push 都被 GitHub 或 GitLab 拒绝,提示文件超过 100 MB 限制。本文给出用 git-filter-repo 彻底清除历史大文件的完整修复方案。
clone 或 checkout 后发现图片、模型等大文件变成了几行文本(LFS pointer),程序运行时报「无效文件格式」。本文解释 LFS smudge filter 机制,给出强制拉取真实内容的完整修复步骤。
切换分支或 git pull 后,git diff 显示几千行改动,但实际上只是换行符从 LF 变成 CRLF 或反过来。本文给出统一换行符配置、消除噪音 diff 的完整修复方案。
合并分支时遇到 PNG、PDF、Excel 等二进制文件冲突,Git 无法生成可读 diff,导致 merge 卡死。本文给出明确选边、工具 diff、预防策略的完整修复路径。
使用 git clone --filter 做 partial clone 的 monorepo 在 fetch 后发现某些包的文件缺失或停留在旧版本,CI 构建莫名报错找不到文件。本文解析 partial clone 的延迟加载机制并给出强制同步方案。
执行 git pull --rebase 后解决冲突,结果 git log 里出现了重复提交、commit 顺序颠倒或时间戳混乱,团队历史难以追溯。本文解释 rebase 冲突解决的正确流程并给出清理方案。
执行 git rebase 后发现部分提交从分支历史消失,log 里找不到。本文用 reflog 精准找回丢失 commit,给出完整恢复和预防方案。
执行 git revert 撤销一个 merge commit 时报错 'commit is a merge but no -m option was given'。本文解释 -m 参数的含义,给出正确选择 parent 编号和处理后续分支重合并的完整方案。
API key、数据库密码、私钥等敏感信息被 git push 到了公开仓库,即使马上删除文件并重新提交,历史里依然可以被找到。本文给出立即响应的分钟级操作步骤和彻底清除历史的方案。
git stash pop 或切换分支后,stash 列表里的条目消失,改动找不到了。本文解释 stash 的存储机制,给出从 reflog 找回丢失 stash 的完整操作步骤。
git submodule update 执行成功却发现 submodule 停留在旧 commit,或者 clone 后 submodule 目录为空。本文解析 submodule 指针机制,给出强制同步和日常维护的完整方案。
打 release tag 时选错了 commit,或者 tag 被推送到错误的位置,导致发布版本与代码不符。本文给出删除旧 tag、重新打标、通知团队同步的安全操作步骤。
git worktree 对应的分支被删除后,worktree 目录还在磁盘上,git worktree list 显示为损坏状态,相关 git 操作全部报错。本文给出清理幽灵 worktree 和预防悬空 worktree 的完整方案。
rebase 完或切完分支,Cursor 还在引用不存在的文件和行号。indexer 没跟上 git 状态。强制重建索引,把流程加固一下。
Codex 跑了 git commit --amend 或交互 rebase,重写了共享分支的 history。如何把 agent 锁死在 forward-only commit 上。