Git技能使用说明
2026-03-26
新闻来源:网淘吧
围观:97
电脑广告
手机广告
何时使用
当任务涉及Git仓库、分支、提交、合并、变基、拉取请求、冲突解决、历史检查或恢复时使用。此技能是无状态的,默认应在任何涉及Git工作的任务中应用。
快速参考
| 主题 | 文件 |
|---|---|
| 基本命令 | commands.md |
| 高级操作 | advanced.md |
| 分支策略 | branching.md |
| 冲突解决 | conflicts.md |
| 历史与恢复 | history.md |
| 团队工作流 | collaboration.md |
核心规则
- 切勿强制推送到共享分支— 仅在功能分支上使用
--force-with-lease早提交,常提交 - — 小提交更易于审查、回退和二分查找编写有意义的提交信息
- — 首行不超过72字符,使用祈使语气推送前先拉取
- — 推送前始终执行git pull --rebase
以避免合并提交合并前清理 - — 使用git rebase -i
压缩修复提交团队工作流
功能分支流程:
从主分支执行
git checkout -b feature/名称进行提交,定期推送- 开启拉取请求,获取审查
- 压缩并合并到主分支
- 删除功能分支
- 热修复流程:
Hotfix Flow:
git checkout -b hotfix/issue从主分支- 修复、测试、提交
- 合并到主分支和开发分支(如果存在)
- 标记发布版本
每日同步:
git fetch --all --prune
git rebase origin/main # 如果团队偏好,也可以使用合并
提交信息
- 使用约定式提交格式:
类型(作用域): 描述 - 首行保持在72个字符以内
- 类型:
feat,fix,docs,style,refactor,test,chore
推送安全
- 使用
git push --force-with-lease而不是--force——防止覆盖他人的工作 - 如果推送被拒绝,先运行
git pull --rebase再重试 - 切勿强制推送到主分支/主分支
冲突解决
- 编辑完冲突文件后,确认没有残留标记:
grep -r "<<<\|>>>\|===" . - 在完成合并前,测试代码是否能正常构建
- 如果合并变得复杂,使用
git merge --abort中止,然后尝试git rebase而是
分支维护
- 本地删除已合并的分支:
git branch -d 分支名称 - 清理远程跟踪:
git fetch --prune - 创建 PR 前,将功能分支变基到最新的主分支上
- 使用
git rebase -i在推送前压缩杂乱的提交
安全检查清单
在执行破坏性操作(reset --hard、rebase、force push)之前:
- 这是共享分支吗? → 不要重写历史
- 我有未提交的更改吗? → 先暂存或提交
- 我在正确的分支上吗? →
git branch来确认 - 远程仓库是最新的吗? →
git fetch先
常见陷阱
- git user.email 错误— 在重要提交前使用
git config user.email验证 - 空目录— Git 不跟踪它们,添加
.gitkeep - 子模块— 始终使用
--recurse-submodules - 克隆分离的 HEAD
— 使用git switch - - 返回上一个分支推送被拒绝
git pull --rebase首先 - 冲突时使用 stash pop— 储藏内容会消失。请改用
stash apply大文件 - — 对于大于50MB的文件使用Git LFS,切勿提交敏感信息大小写敏感性
- — Mac/Windows忽略大小写,Linux则不然 — 可能导致CI失败恢复命令
撤销最后一次提交但保留更改:
- git reset --soft HEAD~1
丢弃未暂存的更改: - git restore 文件名
查找丢失的提交: - git reflog
(保留约90天的历史记录)恢复已删除的分支: - git checkout -b 分支名 <来自reflog的sha值>
使用 - Use
git add -p用于在提交混合了多个更改时进行部分暂存
使用二分法进行调试
查找引入错误的提交:
git bisect start
git bisect bad # 当前提交存在问题
git bisect good v1.0.0 # 此版本正常工作
# Git 检出中间提交,测试后:
git bisect good # 或 git bisect bad
# 重复直到 Git 找到问题提交
git bisect reset # 返回原分支
快速概览
git status -sb # 带分支信息的简洁状态
git log --oneline -5 # 最近 5 条提交
git shortlog -sn # 按提交数统计贡献者
git diff --stat HEAD~5 # 最近 5 次提交的变更摘要
git branch -vv # 带跟踪信息的分支列表
git stash list # 待处理的储藏列表
相关技能
安装方式clawhub install <slug>若用户确认:
gitlab— GitLab CI/CD 与合并请求docker— 容器化工作流code— 代码质量与最佳实践
反馈
- 若觉有用:
clawhub star git - 保持更新:
clawhub sync
文章底部电脑广告
手机广告位-内容正文底部
上一篇:ClawSec技能使用说明
下一篇:image-cog技能使用说明


微信扫一扫,打赏作者吧~