🧪 Skills

Git Workflow Cn

Git 工作流助手 - 分支管理、冲突解决、提交规范。适合:开发者、团队协作。

v1.0.0
❤️ 0
⬇️ 0
👁 1
Share

Description


name: git-workflow-cn version: 1.0.0 description: Git 工作流助手 - 分支管理、冲突解决、提交规范。适合:开发者、团队协作。 metadata: openclaw: emoji: "🌳" requires: bins: ["git"]

Git 工作流助手 Skill

Git 分支管理、冲突解决、提交规范,提升团队协作效率。

核心功能

功能 描述
分支管理 创建、切换、合并分支
冲突解决 识别和解决冲突
提交规范 Conventional Commits
常见问题 撤销、回滚、恢复

使用方法

分支操作

创建并切换到新分支 feature/login

冲突解决

帮我解决 Git 合并冲突

提交建议

为这些改动生成符合规范的提交信息

常用命令速查

基础操作

# 初始化
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                 # 查看提交详情

分支管理

# 查看分支
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  # 删除远程分支

远程操作

# 查看远程
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            # 获取并清理

暂存操作

# 暂存工作区
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: 回滚登录功能

提交示例

# 功能
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

# 初始化
git flow init

# 功能开发
git flow feature start login
git flow feature finish login

# 发布
git flow release start v1.0.0
git flow release finish v1.0.0

# 热修复
git flow hotfix start fix-login-bug
git flow hotfix finish fix-login-bug

GitHub Flow

# 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. 合并到 main
git checkout main
git pull origin main
git merge feature/login
git push origin main

GitLab Flow

# 环境分支:main -> staging -> production

# 1. 功能开发
git checkout -b feature/login main
git push origin feature/login

# 2. 合并到 main
git checkout main
git merge feature/login

# 3. 部署到 staging
git checkout staging
git merge main
git push origin staging

# 4. 部署到 production
git checkout production
git merge staging
git push origin production

冲突解决

识别冲突

# 查看冲突文件
git status

# 冲突标记
<<<<<<< HEAD
当前分支内容
=======
合并分支内容
>>>>>>> feature/login

解决冲突

# 1. 手动编辑冲突文件
# 2. 选择保留的内容
# 3. 删除冲突标记
# 4. 添加解决后的文件
git add .
# 5. 完成合并
git commit

冲突工具

# 使用合并工具
git mergetool

# 使用 VS Code
git config --global merge.tool code
git config --global mergetool.code.cmd 'code --wait $MERGED'

# 查看差异
git diff HEAD                     # 与 HEAD 比较
git diff --ours                   # 使用当前版本
git diff --theirs                 # 使用合并版本

常见问题解决

撤销操作

# 撤销工作区修改
git checkout -- file.txt
git restore file.txt              # 新语法

# 撤销暂存
git reset HEAD file.txt
git restore --staged file.txt     # 新语法

# 撤销最近提交(保留修改)
git reset --soft HEAD~1

# 撤销最近提交(丢弃修改)
git reset --hard HEAD~1

# 修改最近提交信息
git commit --amend -m "新信息"

回滚代码

# 回滚指定提交
git revert COMMIT_ID

# 回滚多个提交
git revert COMMIT_ID1..COMMIT_ID2

# 回滚但不提交
git revert --no-commit COMMIT_ID

恢复删除

# 恢复删除的文件
git checkout COMMIT_ID -- file.txt

# 恢复删除的提交
git reflog                        # 查找提交
git reset --hard COMMIT_ID        # 恢复

# 恢复删除的分支
git reflog                        # 找到分支最后的提交
git checkout -b branch_name COMMIT_ID

清理仓库

# 清理未跟踪文件
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_name
git reflog expire --expire=now --all
git gc --prune=now --aggressive

别名配置

# 添加到 ~/.gitconfig

[alias]
  co = checkout
  br = branch
  ci = commit
  st = status
  unstage = reset HEAD --
  last = log -1 HEAD
  visual = log --graph --oneline --all
  amend = commit --amend --no-edit
  undo = reset --soft HEAD~1
  wip = !git add -A && git commit -m 'WIP'

注意事项

  • 提交前先拉取最新代码
  • 功能分支及时合并
  • 避免直接提交到 main
  • 重要操作先备份

创建:2026-03-12 版本:1.0

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs