Git Workflow Cn — Git 工作流 Cn
v1.0.0Git 工作流助手 - 分支管理、冲突解决、提交规范。适合:开发者、团队协作。
运行时依赖
安装命令
点击复制技能文档
Git 工作流助手 技能
Git 分支管理、冲突解决、提交规范,提升团队协作效率。
核心功能 功能 描述 分支管理 创建、切换、合并分支 冲突解决 识别和解决冲突 提交规范 Conventional Commits 常见问题 撤销、回滚、恢复 使用方法 分支操作 创建并切换到新分支 feature/记录in
冲突解决 帮我解决 Git 合并冲突
提交建议 为这些改动生成符合规范的提交信息
常用命令速查 基础操作 # 初始化 git init # 初始化仓库 git clone URL # 克隆仓库
# 配置 git config --global user.name "Your Name" git config --global user.emAIl "emAIl@example.com"
# 状态查看 git 状态 # 查看状态 git 记录 --oneline # 简洁日志 git 记录 --graph --oneline --all # 图形化日志 git diff # 查看改动 git show COMMIT_ID # 查看提交详情
分支管理 # 查看分支 git branch # 本地分支 git branch -a # 所有分支 git branch -r # 远程分支
# 创建分支 git branch feature/记录in # 创建分支 git 检查out -b feature/记录in # 创建并切换 git switch -c feature/记录in # 新语法
# 切换分支 git 检查out feature/记录in # 切换分支 git switch feature/记录in # 新语法
# 合并分支 git merge feature/记录in # 合并分支 git merge --no-ff feature/记录in # 禁用快进
# 删除分支 git branch -d feature/记录in # 安全删除 git branch -D feature/记录in # 强制删除 git push origin --删除 feature/记录in # 删除远程分支
远程操作 # 查看远程 git remote -v # 查看远程仓库 git remote 添加 origin URL # 添加远程 git remote 设置-url origin URL # 修改远程地址
# 拉取推送 git fetch origin # 获取更新 git pull origin mAIn # 拉取并合并 git push origin mAIn # 推送 git push -u origin feature/记录in # 推送并设置上游
# 同步远程 git remote p运行e origin # 清理无效引用 git fetch --all --p运行e # 获取并清理
暂存操作 # 暂存工作区 git stash # 暂存当前修改 git stash save "message" # 带消息暂存 git stash 列出 # 查看暂存列表 git stash pop # 恢复并删除 git stash 应用ly # 恢复但不删除 git stash drop stash@{0} # 删除指定暂存 git stash clear # 清空暂存
提交规范 Conventional Commits ():
Type 类型 Type 描述 示例 feat 新功能 feat(auth): 添加登录功能 fix 修复 bug fix(API): 修复接口超时 docs 文档更新 docs(readme): 更新安装说明 style 代码格式 style: 格式化代码 refactor 重构 refactor(utils): 优化工具函数 perf 性能优化 perf(列出): 优化列表渲染 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} 改为 {状态, 结果}"
工作流模式 Git Flow # 初始化 git flow init
# 功能开发 git flow feature 启动 记录in git flow feature finish 记录in
# 发布 git flow release 启动 v1.0.0 git flow release finish v1.0.0
# 热修复 git flow hotfix 启动 fix-记录in-bug git flow hotfix finish fix-记录in-bug
GitHub Flow # 1. 从 mAIn 创建分支 git 检查out -b feature/记录in mAIn
# 2. 开发并提交 git 添加 . git commit -m "feat: 添加登录功能" git push origin feature/记录in
# 3. 创建 Pull 请求 # 4. Code Review # 5. 合并到 mAIn git 检查out mAIn git pull origin mAIn git merge feature/记录in git push origin mAIn
GitLab Flow # 环境分支:mAIn -> staging -> production
# 1. 功能开发 git 检查out -b feature/记录in mAIn git push origin feature/记录in
# 2. 合并到 mAIn git 检查out mAIn git merge feature/记录in
# 3. 部署到 staging git 检查out staging git merge mAIn git push origin staging
# 4. 部署到 production git 检查out production git merge staging git push origin production
冲突解决 识别冲突 # 查看冲突文件 git 状态
# 冲突标记 <<<<<<< HEAD 当前分支内容 ======= 合并分支内容 >>>>>>> feature/记录in
解决冲突 # 1. 手动编辑冲突文件 # 2. 选择保留的内容 # 3. 删除冲突标记 # 4. 添加解决后的文件 git 添加 . # 5. 完成合并 git commit
冲突工具 # 使用合并工具 git merge工具
# 使用 VS Code git config --global merge.工具 code git config --global merge工具.code.cmd 'code --wAIt $MERGED'
# 查看差异 git diff HEAD # 与 HEAD 比较 git diff --ours # 使用当前版本 git diff --theirs # 使用合并版本
常见问题解决 撤销操作 # 撤销工作区修改 git 检查out -- file.txt git 恢复 file.txt # 新语法
# 撤销暂存 git re设置 HEAD file.txt git 恢复 --staged file.txt # 新语法
# 撤销最近提交(保留修改) git re设置 --soft HEAD~1
# 撤销最近提交(丢弃修改) git re设置 --hard HEAD~1
# 修改最近提交信息 git commit --amend -m "新信息"
回滚代码 # 回滚指定提交 git revert COMMIT_ID
# 回滚多个提交 git revert COMMIT_ID1..COMMIT_ID2
# 回滚但不提交 git revert --no-commit COMMIT_ID
恢复删除 # 恢复删除的文件 git 检查out COMMIT_ID -- file.txt
# 恢复删除的提交 git ref记录 # 查找提交 git re设置 --hard COMMIT_ID # 恢复
# 恢复删除的分支 git ref记录 # 找到分支最后的提交 git 检查out -b branch_name COMMIT_ID
清理仓库 # 清理未跟踪文件 git 清理 -n # 预览 git 清理 -f # 删除文件 git 清理 -fd # 删除文件和目录
# 清理历史 git 过滤器-branch --force --索引-过滤器 \ 'git rm --缓存d --ignore-unmatch path/to/file' \ --p运行e-empty --tag-name-过滤器 cat -- --all
# 使用 BFG(更快) bfg --删除-folders folder_name git ref记录 expire --expire