GitHub资源下载
按需下载GitHub
Git Workflows 提供超越基础 add/commit/push 的高级 Git 操作,涵盖交互式变基、二分查找定位缺陷、工作树并行开发、reflog 恢复丢失提交、子树/子模块管理、复杂合并冲突解决、跨分支拣选提交以及大型单体仓库的稀疏检出等场景。
安装要求
需预先安装 Git 命令行工具。验证安装:
git --version
交互式变基(整理提交历史)
# 对最近5个提交进行交互式变基
git rebase -i HEAD~5
# 变基到 main 分支(自分叉以来的所有提交)
git rebase -i main
编辑器中可使用的命令:pick(保留)、reword(修改消息)、edit(暂停修改)、squash(合并保留消息)、fixup(合并丢弃消息)、drop(删除)。
# 自动整理 fixup 提交
git commit --fixup=a1b2c3d -m "Fix typo"
git rebase -i --autosquash main
# 中止或继续变基
git rebase --abort # 取消并恢复原状
git rebase --continue # 解决冲突后继续
git rebase --skip # 跳过当前提交
二分查找定位缺陷(Bisect)
# 启动二分查找
git bisect start
git bisect bad # 标记当前提交有缺陷
git bisect good v1.2.0 # 标记已知正常版本
# 测试中间版本后标记
git bisect good # 无缺陷
git bisect bad # 有缺陷
# 自动运行测试脚本
git bisect start HEAD v1.2.0
git bisect run ./test-for-bug.sh
# 结束返回原分支
git bisect reset
工作树并行开发(Worktree)
# 为现有分支创建工作树
git worktree add ../myproject-hotfix hotfix/urgent-fix
# 创建新分支并建立工作树
git worktree add ../myproject-feature -b feature/new-thing
# 查看工作树列表
git worktree list
# 移除工作树
git worktree remove ../myproject-hotfix
git worktree prune # 清理失效引用
Reflog 恢复丢失提交
# 查看所有引用变更记录
git reflog
# 恢复到指定状态
git reset --hard HEAD@{2}
# 恢复已删除的分支
git reflog show feature/old-branch
git checkout -b recovered-branch abc123
子树与子模块管理
# 添加子树(将外部仓库合并到子目录)
git subtree add --prefix=vendor/lib https://github.com/org/lib.git main --squash
# 更新子树
git subtree pull --prefix=vendor/lib https://github.com/org/lib.git main --squash
# 添加子模块
git submodule add https://github.com/org/shared.git shared/
git submodule update --init --recursive
稀疏检出(大型单体仓库)
# 启用稀疏检出
git sparse-checkout init --cone
# 只检出指定目录
git sparse-checkout set packages/core packages/utils
# 添加更多目录
git sparse-checkout add packages/api
见下方输入与输出表格。
| 项目 | 内容 |
|---|---|
| 输入 | Git 仓库路径;目标分支名或提交哈希;变基范围(如 HEAD~5);测试脚本路径(bisect 自动化时);工作树目录路径;子树/子模块仓库 URL |
| 输出 | 整理后的提交历史;定位到的缺陷提交哈希;独立的工作树目录;恢复的提交或分支;合并后的子目录代码;部分检出的仓库文件 |
| 适用人群 | 熟悉 Git 基础的开发者;需要维护干净提交历史的团队;排查回归缺陷的工程师;同时处理多任务的开发者;管理多仓库依赖的架构师;操作大型代码库的程序员 |
| 不包含 | Git 基础命令教学(add/commit/push/pull);图形化 Git 客户端操作;特定 CI/CD 平台集成配置;代码审查流程规范;Git LFS 大文件管理 |
原始链接:https://github.com/openclaw/skills/tree/main/skills/gitgoodordietrying/git-workflows/SKILL.md
来源类型:开源技能库