)
目录一、前置基础环境与配置1. 安装与全局配置仅首次执行2. 密钥配置免输账号密码必配二、核心概念职场必懂三、团队标准分支规范企业通用方案 1极简团队中小项目、敏捷开发方案 2GitFlow大型项目、版本迭代严格四、完整工作流日常开发标准流程场景 1首次拉取项目新入职 / 新电脑场景 2新建功能分支开始开发新需求场景 3本地开发 日常提交高频操作补充提交注释规范企业通用 Conventional Commits场景 4开发中途同步远程最新代码关键防大冲突场景 5功能开发完成推送到远程分支场景 6远程提 Merge Request / Pull RequestMR/PR场景 7分支合并完成清理本地无用分支五、重中之重代码冲突解决职场最常见问题1. 冲突文件标识2. 解决步骤3 步标准操作3. 避坑原则六、高频实用命令工作每天都用1. 分支操作2. 回退 / 撤销救急命令必背1撤销工作区改动代码改乱了想恢复成原版2撤销暂存add 之后不想提交了3本地 commit 提交错了撤销本次提交代码保留4远程分支代码回滚线上出 bug紧急回退版本3. 拉代码相关4. 查看日志七、团队协作禁忌 职场避坑红线八、常见异常问题排查1. 提示 fatal: unable to access 密码错误2. 分支落后远程push 失败3. 误删文件想恢复4. 本地分支和远程分支断联九、极简每日工作流程速记版结合团队协作流程、日常操作、分支规范、冲突解决、高频问题、避坑技巧讲解覆盖单人开发、多人协作、代码提交流程、线上回滚等全场景。一、前置基础环境与配置1. 安装与全局配置仅首次执行配置用户名、邮箱和公司 Git 账号一致用于提交记录追溯# 设置全局用户名 git config --global user.name 你的姓名/工号 # 设置全局邮箱公司邮箱/Git平台注册邮箱 git config --global user.email xxxcompany.com # 查看配置 git config --global --list2. 密钥配置免输账号密码必配公司 GitLab/Gitee/GitHub 推荐使用SSH 密钥避免每次拉取 / 推送输入密码生成密钥ssh-keygen -t ed25519一路回车查看公钥cat ~/.ssh/id_ed25519.pub复制全部内容粘贴到 Git 平台「个人设置 - SSH 公钥」配置完成后仓库地址选择SSH 地址克隆。二、核心概念职场必懂工作区本地文件夹正在编写代码的地方暂存区 (Stage)临时存放待提交的文件本地仓库本地.git目录保存所有历史版本远程仓库云端仓库GitLab/Gitee/GitHub分支独立开发线团队协作核心主干、功能分支、bug 分支三、团队标准分支规范企业通用统一分支规则是团队不乱的前提主流两套规范二选一即可方案 1极简团队中小项目、敏捷开发main/master主干分支永远保留可上线稳定代码禁止直接提交dev开发分支所有功能合并到此测试通过后合并到主干feature/xxx功能分支单人 / 小组开发新功能例feature/user-loginbugfix/xxx修复分支线上 / 测试环境 bug 修复例bugfix/order-pay-errorhotfix/xxx紧急热更分支线上严重故障紧急修复上线方案 2GitFlow大型项目、版本迭代严格多release预发布分支适合正式版本迭代大厂后端常用。职场铁律严禁直接在 main/dev 分支写代码、提交代码。四、完整工作流日常开发标准流程以「从拉代码 → 开发 → 提交 → 合并 → 上线」全流程演示。场景 1首次拉取项目新入职 / 新电脑# 1. 克隆远程仓库到本地SSH地址 git clone gitxxx.git # 2. 进入项目文件夹 cd 项目名 # 3. 拉取最新 dev 分支以dev为开发基线 git checkout dev git pull场景 2新建功能分支开始开发新需求基于最新 dev 分支创建个人功能分支# 确保当前在 dev并且代码是最新 git checkout dev git pull # 创建并切换到功能分支推荐命名feature/功能名 git checkout -b feature/order-cart场景 3本地开发 日常提交高频操作写完代码后分步提交小步提交、频繁提交不要一次改几百行再提交# 1. 查看文件改动红色未暂存绿色已暂存 git status # 2. 将改动文件加入暂存区 # 方式1添加所有改动常用 git add . # 方式2指定单个文件谨慎提交精准控制 git add src/xxx.java # 3. 提交到本地仓库必须写清晰注释规范动作内容 # 格式建议feat: 新增购物车接口 | fix: 修复结算bug git commit -m feat: 完成购物车新增、查询功能补充提交注释规范企业通用 Conventional Commitsfeat新功能fixbug 修复docs文档修改style代码格式、空格无逻辑变更refactor代码重构无功能、无 bugtest新增 / 修改测试用例场景 4开发中途同步远程最新代码关键防大冲突多人同时开发dev分支会不断更新每天上班第一件事同步代码# 1. 切回dev拉最新代码 git checkout dev git pull # 2. 切回自己的功能分支合并dev最新代码把别人的更新合进来 git checkout feature/order-cart git merge dev这里大概率出现代码冲突下文单独讲解。场景 5功能开发完成推送到远程分支# 推送到远程对应分支首次推送需要加 -u 关联远程分支 git push -u origin feature/order-cart # 后续再次提交直接简写 git push场景 6远程提 Merge Request / Pull RequestMR/PR登录 GitLab/Gitee 网页端选择自己的分支新建Merge Request目标分支选择dev填写标题、描述、关联需求 / 缺陷单号提交等待代码评审 (CR)同事审核代码提出修改意见评审通过后管理员合并到dev分支场景 7分支合并完成清理本地无用分支功能上线、合并完毕后删除本地 远程废弃分支# 删除本地分支 git branch -d feature/order-cart # 删除远程分支 git push origin --delete feature/order-cart五、重中之重代码冲突解决职场最常见问题多人修改同一文件同一行代码就会产生冲突merge/pull都会触发。1. 冲突文件标识打开冲突文件会看到 Git 标记 HEAD 本地当前分支代码 本地写的代码 远程/被合并分支的代码 dev 来源分支代码2. 解决步骤3 步标准操作理解两边代码逻辑不要直接删除先问同事这段代码作用手动修改代码保留需要的逻辑删除标记重新暂存、提交git add . git commit -m merge: 解决合并dev产生的代码冲突 # 无需再次pull直接推送 git push3. 避坑原则小冲突本地手动解决大冲突 / 逻辑复杂当面和代码作者沟通不要凭猜测改禁止直接全保留本地 / 全覆盖远程六、高频实用命令工作每天都用1. 分支操作# 查看本地所有分支* 代表当前所在分支 git branch # 查看远程所有分支 git branch -r # 切换分支 git checkout 分支名 # Git 2.23 新命令等价 git switch 分支名 # 创建分支不切换 git branch 新分支名2. 回退 / 撤销救急命令必背1撤销工作区改动代码改乱了想恢复成原版# 撤销单个文件 git checkout -- 文件名 # 撤销所有未暂存的改动 git checkout -- .2撤销暂存add 之后不想提交了git reset HEAD .3本地 commit 提交错了撤销本次提交代码保留# 软回退撤销commit代码还在工作区常用 git reset --soft HEAD~1 # 硬回退撤销commit 清空代码危险谨慎使用 git reset --hard HEAD~14远程分支代码回滚线上出 bug紧急回退版本仅管理员操作禁止普通开发直接操作主干# 1. 查看所有提交记录找到要回退的commit id git log # 2. 本地硬回退到指定版本 git reset --hard 目标commit-id # 3. 强制推送到远程高危团队同步后再执行 git push origin main --force3. 拉代码相关# 拉取远程最新代码推荐日常使用 git pull # 等价于git fetch git merge # git fetch只拉取代码不自动合并安全推荐先fetch再手动merge git fetch4. 查看日志# 查看详细提交日志 git log # 简洁单行日志看分支线神器 git log --oneline --graph七、团队协作禁忌 职场避坑红线绝对禁止直接在main/dev主干分支开发、提交代码绝对禁止使用git push --force强制推送公共分支会覆盖别人代码禁止一次提交大量代码、不写提交注释禁止把 IDE 配置、日志、临时文件、密钥、密码提交到仓库解决方案项目根目录新建.gitignore文件配置忽略规则# .gitignore 常用配置 *.iml .idea/ target/ logs/ *.log node_modules/ application-dev.yml # 本地配置文件每天上班先 pull 再开发下班前保证代码正常提交推送代码写完先自测再提 MR减少评审返工八、常见异常问题排查1. 提示fatal: unable to access密码错误解决方案改用SSH 地址克隆配置 SSH 密钥彻底解决密码问题2. 分支落后远程push 失败原因远程有新代码本地未同步# 先拉最新代码再推送 git pull git push3. 误删文件想恢复# 查看删除记录找到commit git log --oneline -- 文件名 # 恢复文件 git checkout commit-id 文件名4. 本地分支和远程分支断联# 重新关联远程分支 git branch --set-upstream-toorigin/远程分支名 本地分支名九、极简每日工作流程速记版上班git checkout dev→git pull同步最新代码切自己分支git checkout feature/xxx→git merge dev合并更新开发代码提交git add .→git commit -m 注释→git push开发完毕网页提 MR等待代码评审合并合并完成删除本地废弃分支