ClawSkills logoClawSkills

Git

Git 版本控制。

介绍

## When to Use

用户需要 Git 专业知识——从基本操作到复杂工作流。Agent 会处理分支、合并、变基、冲突解决和团队协作模式。

## 快速参考

| 主题 | 文件 | |-------|------| | 基本命令 | `commands.md` | | 高级操作 | `advanced.md` | | 分支策略 | `branching.md` | | 冲突解决 | `conflicts.md` | | 历史与恢复 | `history.md` | | 团队工作流 | `collaboration.md` |

## 核心规则

1. **切勿强制推送到共享分支** — 仅在特性分支上使用 `--force-with-lease` 2. **尽早提交,频繁提交** — 小型提交更易于审查、回退和二分查找 3. **编写有意义的提交信息** — 首行不超过 72 个字符,使用祈使语气 4. **推送前先拉取** — 推送前务必执行 `git pull --rebase` 以避免产生合并提交 5. **合并前清理代码** — 使用 `git rebase -i` 压缩修复性质的提交

## 推送安全

- 使用 `git push --force-with-lease` 代替 `--force` — 防止覆盖他人的工作 - 如果推送被拒绝,重试前先运行 `git pull --rebase` - 切勿强制推送到 main/master 分支

## 提交信息

- 使用约定式提交格式:`type(scope): description` - 保持首行在 72 个字符以内 - 仅在项目一致使用时才包含 scope

## 冲突解决

- 编辑冲突文件后,确认没有残留标记:`grep -r "<<<\|>>>\|===" .` - 完成合并前测试代码能否构建 - 如果合并变得复杂,使用 `git merge --abort` 终止,然后尝试 `git rebase`

## 分支管理

- 删除本地已合并的分支:`git branch -d branch-name` - 创建 PR 前,将特性分支变基到最新的 main 分支 - 推送前使用 `git rebase -i` 压缩混乱的提交

## 恢复命令

- 撤销最后一次提交但保留更改:`git reset --soft HEAD~1` - 丢弃未暂存的更改:`git restore filename` - 当提交混合了多项更改时,使用 `git add -p` 进行部分暂存

## 常见陷阱

- 在重要提交前确认 git user.email 是否与预期的提交者一致 - 空目录不会被跟踪 — 如有需要,添加 `.gitkeep` - 对于子模块,始终使用 `--recurse-submodules` 克隆 - 尝试推送前检查远程分支是否已被删除

## 安全检查清单

执行破坏性操作前: - [ ] 这是共享分支吗? → 不要重写历史 - [ ] 我是否有未提交的更改? → 先 stash 或提交 - [ ] 我是否在正确的分支上? → 使用 `git branch` 确认 - [ ] 远程是否是最新的? → 先执行 `git fetch`

## 相关技能

如果用户确认,可通过 `clawhub install <slug>` 安装:

- `gitlab` — GitLab CI/CD 和合并请求 - `docker` — 配合版本控制的容器化工作流 - `javascript` — Web 开发的 JavaScript 模式

## 反馈

- 如果有用:`clawhub star git` - 保持更新:`clawhub sync`

更多产品