From 5725a4b76395e60a6b86ac12379121998474ad54 Mon Sep 17 00:00:00 2001 From: hyh Date: Tue, 5 Aug 2025 10:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95git=20=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- git_workflow.md | 325 ++++++++++++++++++++++++++++++++++++++++++++++++ modify.md | 28 ++++- 2 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 git_workflow.md diff --git a/git_workflow.md b/git_workflow.md new file mode 100644 index 0000000..17df3c9 --- /dev/null +++ b/git_workflow.md @@ -0,0 +1,325 @@ +# Git 提交代码流程指南 + +## 目录 +- [基本工作流程](#基本工作流程) +- [常用命令](#常用命令) +- [分支管理](#分支管理) +- [冲突解决](#冲突解决) +- [最佳实践](#最佳实践) + +## 基本工作流程 + +### 1. 检查当前状态 +```bash +# 查看当前工作目录状态 +git status + +# 查看当前分支 +git branch + +# 查看远程仓库信息 +git remote -v +``` + +### 2. 拉取最新代码 +```bash +# 拉取远程最新代码 +git pull origin master + +# 或者先获取再合并 +git fetch origin +git merge origin/master +``` + +### 3. 添加文件到暂存区 +```bash +# 添加所有文件 +git add . + +# 添加特定文件 +git add filename.py + +# 添加多个文件 +git add file1.py file2.py + +# 添加所有.py文件 +git add *.py + +# 交互式添加(选择性地添加文件的部分内容) +git add -p filename.py +``` + +### 4. 提交代码 +```bash +# 基本提交 +git commit -m "提交信息" + +# 添加并提交(跳过暂存区) +git commit -am "提交信息" + +# 修改最后一次提交信息 +git commit --amend -m "新的提交信息" +``` + +### 5. 推送到远程仓库 +```bash +# 推送到远程分支 +git push origin master + +# 推送到当前分支 +git push + +# 强制推送(谨慎使用) +git push --force + +# 推送所有分支 +git push --all +``` + +## 常用命令 + +### 查看信息 +```bash +# 查看提交历史 +git log + +# 查看简洁的提交历史 +git log --oneline + +# 查看文件变更 +git diff + +# 查看暂存区的变更 +git diff --cached + +# 查看特定文件的变更 +git diff filename.py +``` + +### 撤销操作 +```bash +# 撤销工作区的修改 +git checkout -- filename.py + +# 撤销暂存区的修改 +git reset HEAD filename.py + +# 撤销最后一次提交 +git reset --soft HEAD~1 + +# 撤销最后一次提交并删除修改 +git reset --hard HEAD~1 +``` + +### 分支操作 +```bash +# 创建新分支 +git branch new-branch + +# 创建并切换到新分支 +git checkout -b new-branch + +# 切换到分支 +git checkout branch-name + +# 删除分支 +git branch -d branch-name + +# 强制删除分支 +git branch -D branch-name + +# 查看所有分支 +git branch -a +``` + +## 分支管理 + +### 功能开发流程 +```bash +# 1. 从主分支创建功能分支 +git checkout -b feature/new-feature + +# 2. 开发功能并提交 +git add . +git commit -m "添加新功能" + +# 3. 推送到远程 +git push origin feature/new-feature + +# 4. 创建合并请求(在GitLab/GitHub上操作) + +# 5. 合并完成后删除本地分支 +git checkout master +git pull origin master +git branch -d feature/new-feature +``` + +### 热修复流程 +```bash +# 1. 从主分支创建热修复分支 +git checkout -b hotfix/critical-bug + +# 2. 修复问题并提交 +git add . +git commit -m "修复关键bug" + +# 3. 推送到远程 +git push origin hotfix/critical-bug + +# 4. 合并到主分支和开发分支 +``` + +## 冲突解决 + +### 合并冲突处理 +```bash +# 1. 尝试合并 +git merge feature-branch + +# 2. 如果有冲突,查看冲突文件 +git status + +# 3. 手动编辑冲突文件,解决冲突 + +# 4. 添加解决后的文件 +git add . + +# 5. 完成合并 +git commit +``` + +### 变基操作 +```bash +# 变基到主分支 +git rebase master + +# 如果有冲突,解决后继续 +git add . +git rebase --continue + +# 取消变基 +git rebase --abort +``` + +## 最佳实践 + +### 提交信息规范 +``` +类型(范围): 简短描述 + +详细描述(可选) + +相关任务: #123 +``` + +**类型说明:** +- `feat`: 新功能 +- `fix`: 修复bug +- `docs`: 文档更新 +- `style`: 代码格式调整 +- `refactor`: 代码重构 +- `test`: 测试相关 +- `chore`: 构建过程或辅助工具的变动 + +**示例:** +```bash +git commit -m "feat(adb): 添加设备连接功能 + +- 实现ADB设备自动发现 +- 添加设备状态监控 +- 支持多设备并行操作 + +相关任务: #45" +``` + +### 工作流程建议 + +1. **经常提交**:小步快跑,经常提交代码 +2. **清晰的提交信息**:使用描述性的提交信息 +3. **分支管理**:使用有意义的分支名称 +4. **代码审查**:提交前进行代码审查 +5. **测试**:提交前确保代码通过测试 + +### 常用别名配置 +```bash +# 配置Git别名 +git config --global alias.st status +git config --global alias.co checkout +git config --global alias.br branch +git config --global alias.ci commit +git config --global alias.unstage 'reset HEAD --' +git config --global alias.last 'log -1 HEAD' +``` + +## 完整工作流程示例 + +```bash +# 1. 检查状态 +git status + +# 2. 拉取最新代码 +git pull origin master + +# 3. 创建功能分支 +git checkout -b feature/user-authentication + +# 4. 开发功能 +# ... 编写代码 ... + +# 5. 添加文件 +git add . + +# 6. 提交代码 +git commit -m "feat(auth): 实现用户认证功能" + +# 7. 推送到远程 +git push origin feature/user-authentication + +# 8. 创建合并请求(在Web界面操作) + +# 9. 合并完成后清理 +git checkout master +git pull origin master +git branch -d feature/user-authentication +``` + +## 故障排除 + +### 常见问题解决 + +**问题1:推送被拒绝** +```bash +# 先拉取最新代码 +git pull origin master + +# 解决冲突后再次推送 +git push origin master +``` + +**问题2:提交到错误的分支** +```bash +# 创建新分支保存当前工作 +git checkout -b backup-branch + +# 回到正确的分支 +git checkout correct-branch + +# 应用更改 +git cherry-pick backup-branch +``` + +**问题3:撤销错误的提交** +```bash +# 查看提交历史 +git log --oneline + +# 撤销特定提交 +git revert commit-hash + +# 或者重置到特定提交 +git reset --hard commit-hash +``` + +--- + +*最后更新:2024年* \ No newline at end of file diff --git a/modify.md b/modify.md index 6283631..9d11dc5 100644 --- a/modify.md +++ b/modify.md @@ -350,4 +350,30 @@ logger.info("操作完成", device_count=5, duration_ms=1200) - **可维护性**:路由和CORS配置分离,便于维护 - **可扩展性**:新增路由只需在路由管理器中注册 - **环境隔离**:不同环境使用不同的配置策略 - - **启动灵活**:支持多种启动方式和参数配置 \ No newline at end of file + - **启动灵活**:支持多种启动方式和参数配置 + +### 最新修改 (2024-12-19) - Git工作流程文档 + +#### 新增文件 +- 创建 `git_workflow.md` 文件,包含完整的Git提交代码流程指南 +- 文档内容包括: + - 基本工作流程(检查状态、拉取代码、添加文件、提交、推送) + - 常用命令(查看信息、撤销操作、分支操作) + - 分支管理(功能开发流程、热修复流程) + - 冲突解决(合并冲突处理、变基操作) + - 最佳实践(提交信息规范、工作流程建议、常用别名配置) + - 完整工作流程示例 + - 故障排除(常见问题解决) + +#### 文档特点 +- **全面性**:涵盖Git日常使用的所有主要操作 +- **实用性**:提供具体的命令示例和操作步骤 +- **规范性**:包含提交信息规范和最佳实践建议 +- **问题导向**:提供常见问题的解决方案 +- **中文友好**:使用中文说明,便于团队理解和使用 + +#### 使用价值 +- 为团队成员提供统一的Git操作指南 +- 规范代码提交流程,提高代码质量 +- 减少Git操作错误,提高开发效率 +- 便于新成员快速上手Git工作流程 \ No newline at end of file