用途:整理进阶 Git 操作,帮助在并行开发、缺陷定位、历史整理与误操作恢复等场景中更高效地使用 Git。
主要能力:
- Worktrees:用 git worktree add ../feature-auth feature/auth 为分支创建独立工作目录,共享同一 .git 仓库,避免 stash 或提交未完成工作;支持新建分支、git worktree list 查看、git worktree remove 清理。
- Bisect:通过 git bisect start、git bisect bad HEAD、git bisect good v1.5.0 二分查找引入缺陷的提交,可用 git bisect run npm test 自动化,结束后 git bisect reset。
- 交互式 rebase:git rebase -i HEAD~5 支持 pick、reword、edit、squash、fixup、drop;可将分支变基到 origin/main,冲突后用 git rebase --continue,出错用 git rebase --abort。
- Git 钩子:pre-commit 对暂存文件运行 eslint 并重新 add;commit-msg 用正则强制 Conventional Commits 格式;pre-push 在推送前运行 npm test,失败则中止。
- 恢复技巧:git reset --soft HEAD~1 撤销提交保留暂存;git reflog 找回删除分支或撤销 rebase;git checkout abc1234 -- path/to/file.ts 恢复文件;git fsck --lost-found 查找悬空提交。
- 别名与反模式:提供 lg、st、co、unstage、last、branches、stash-all、conflicts 等别名;提醒避免对共享分支无 --force-with-lease 强推、rebase 已推送提交、未用 Git LFS 提交大二进制文件、未审查 git diff --staged 就 git add .、缺少 .gitignore、长期分支不频繁合并。
使用方式:按需复制对应命令或钩子脚本到本地仓库与 ~/.gitconfig 中执行。
限制:资料未提供适用 Git 版本、平台差异、钩子权限配置及与 CI 的集成说明。