<< All versions
Skill v1.0.0
currentAutomated scan100/100bighardperson/computer-science-skills-collection/git-workflow-cn
──Details
PublishedSeptember 30, 2026 at 12:37 PM
Content Hashsha256:7ccd1080f1efa579...
Git SHAe9f99fd7fed5
──Files
Files (1 file, 7.8 KB)
SKILL.md7.8 KBactive
SKILL.md · 384 lines · 7.8 KB
name: git-workflow-cn version: 1.0.0 description: Git 工作流助手 - 分支管理、冲突解决、提交规范。适合:开发者、团队协作。 metadata: openclaw: emoji: "🌳" requires: bins: ["git"]
Git 工作流助手 Skill
Git 分支管理、冲突解决、提交规范,提升团队协作效率。
核心功能
| 功能 | 描述 | |
|---|---|---|
| 分支管理 | 创建、切换、合并分支 | |
| 冲突解决 | 识别和解决冲突 | |
| 提交规范 | Conventional Commits | |
| 常见问题 | 撤销、回滚、恢复 |
使用方法
分支操作
创建并切换到新分支 feature/login
冲突解决
帮我解决 Git 合并冲突
提交建议
为这些改动生成符合规范的提交信息
常用命令速查
基础操作
bash
# 初始化git init # 初始化仓库git clone URL # 克隆仓库# 配置git config --global user.name "Your Name"git config --global user.email "email@example.com"# 状态查看git status # 查看状态git log --oneline # 简洁日志git log --graph --oneline --all # 图形化日志git diff # 查看改动git show COMMIT_ID # 查看提交详情
分支管理
bash
# 查看分支git branch # 本地分支git branch -a # 所有分支git branch -r # 远程分支# 创建分支git branch feature/login # 创建分支git checkout -b feature/login # 创建并切换git switch -c feature/login # 新语法# 切换分支git checkout feature/login # 切换分支git switch feature/login # 新语法# 合并分支git merge feature/login # 合并分支git merge --no-ff feature/login # 禁用快进# 删除分支git branch -d feature/login # 安全删除git branch -D feature/login # 强制删除git push origin --delete feature/login # 删除远程分支
远程操作
bash
# 查看远程git remote -v # 查看远程仓库git remote add origin URL # 添加远程git remote set-url origin URL # 修改远程地址# 拉取推送git fetch origin # 获取更新git pull origin main # 拉取并合并git push origin main # 推送git push -u origin feature/login # 推送并设置上游# 同步远程git remote prune origin # 清理无效引用git fetch --all --prune # 获取并清理
暂存操作
bash
# 暂存工作区git stash # 暂存当前修改git stash save "message" # 带消息暂存git stash list # 查看暂存列表git stash pop # 恢复并删除git stash apply # 恢复但不删除git stash drop stash@{0} # 删除指定暂存git stash clear # 清空暂存
提交规范
Conventional Commits
<type>(<scope>): <subject><body><footer>
Type 类型
| Type | 描述 | 示例 | |
|---|---|---|---|
| feat | 新功能 | feat(auth): 添加登录功能 | |
| fix | 修复 bug | fix(api): 修复接口超时 | |
| docs | 文档更新 | docs(readme): 更新安装说明 | |
| style | 代码格式 | style: 格式化代码 | |
| refactor | 重构 | refactor(utils): 优化工具函数 | |
| perf | 性能优化 | perf(list): 优化列表渲染 | |
| test | 测试 | test(auth): 添加登录测试 | |
| chore | 构建/工具 | chore: 更新依赖 | |
| ci | CI 配置 | ci: 添加 GitHub Actions | |
| revert | 回滚 | revert: 回滚登录功能 |
提交示例
bash
# 功能git commit -m "feat(user): 添加用户注册功能"# 修复git commit -m "fix(payment): 修复支付金额计算错误"# 文档git commit -m "docs(api): 更新接口文档"# 重构git commit -m "refactor(auth): 重构认证逻辑- 提取公共方法- 优化错误处理- 添加单元测试"# 破坏性变更git commit -m "feat(api)!: 修改 API 响应格式BREAKING CHANGE: 响应格式从 {code, data} 改为 {status, result}"
工作流模式
Git Flow
bash
# 初始化git flow init# 功能开发git flow feature start logingit flow feature finish login# 发布git flow release start v1.0.0git flow release finish v1.0.0# 热修复git flow hotfix start fix-login-buggit flow hotfix finish fix-login-bug
GitHub Flow
bash
# 1. 从 main 创建分支git checkout -b feature/login main# 2. 开发并提交git add .git commit -m "feat: 添加登录功能"git push origin feature/login# 3. 创建 Pull Request# 4. Code Review# 5. 合并到 maingit checkout maingit pull origin maingit merge feature/logingit push origin main
GitLab Flow
bash
# 环境分支:main -> staging -> production# 1. 功能开发git checkout -b feature/login maingit push origin feature/login# 2. 合并到 maingit checkout maingit merge feature/login# 3. 部署到 staginggit checkout staginggit merge maingit push origin staging# 4. 部署到 productiongit checkout productiongit merge staginggit push origin production
冲突解决
识别冲突
bash
# 查看冲突文件git status# 冲突标记<<<<<<< HEAD当前分支内容=======合并分支内容>>>>>>> feature/login
解决冲突
bash
# 1. 手动编辑冲突文件# 2. 选择保留的内容# 3. 删除冲突标记# 4. 添加解决后的文件git add .# 5. 完成合并git commit
冲突工具
bash
# 使用合并工具git mergetool# 使用 VS Codegit config --global merge.tool codegit config --global mergetool.code.cmd 'code --wait $MERGED'# 查看差异git diff HEAD # 与 HEAD 比较git diff --ours # 使用当前版本git diff --theirs # 使用合并版本
常见问题解决
撤销操作
bash
# 撤销工作区修改git checkout -- file.txtgit restore file.txt # 新语法# 撤销暂存git reset HEAD file.txtgit restore --staged file.txt # 新语法# 撤销最近提交(保留修改)git reset --soft HEAD~1# 撤销最近提交(丢弃修改)git reset --hard HEAD~1# 修改最近提交信息git commit --amend -m "新信息"
回滚代码
bash
# 回滚指定提交git revert COMMIT_ID# 回滚多个提交git revert COMMIT_ID1..COMMIT_ID2# 回滚但不提交git revert --no-commit COMMIT_ID
恢复删除
bash
# 恢复删除的文件git checkout COMMIT_ID -- file.txt# 恢复删除的提交git reflog # 查找提交git reset --hard COMMIT_ID # 恢复# 恢复删除的分支git reflog # 找到分支最后的提交git checkout -b branch_name COMMIT_ID
清理仓库
bash
# 清理未跟踪文件git clean -n # 预览git clean -f # 删除文件git clean -fd # 删除文件和目录# 清理历史git filter-branch --force --index-filter \'git rm --cached --ignore-unmatch path/to/file' \--prune-empty --tag-name-filter cat -- --all# 使用 BFG(更快)bfg --delete-folders folder_namegit reflog expire --expire=now --allgit gc --prune=now --aggressive
别名配置
bash
# 添加到 ~/.gitconfig[alias]co = checkoutbr = branchci = commitst = statusunstage = reset HEAD --last = log -1 HEADvisual = log --graph --oneline --allamend = commit --amend --no-editundo = reset --soft HEAD~1wip = !git add -A && git commit -m 'WIP'
注意事项
- 提交前先拉取最新代码
- 功能分支及时合并
- 避免直接提交到 main
- 重要操作先备份
创建:2026-03-12 版本:1.0