公司里来了新人,项目开发终于不是我一个人进行开发了,在公司内网中部署了gitea,也是要使用git团队协作了。所以整理了一份git使用手册。
Git 快速上手使用手册
目录
1. 环境初始化
首次安装 Git 后,配置用户名、邮箱(用于 commit 记录)
# 全局配置(所有仓库生效)
git config --global user.name "你的姓名/账号名"
git config --global user.email "你的工作邮箱"
# 仅当前仓库生效(进入项目目录执行)
git config user.name "姓名"
git config user.email "邮箱"
# 查看配置
git config --list2. 仓库创建与克隆
2.1 本地新建仓库
# 进入项目文件夹,初始化git
git init
# 生成 .git 隐藏文件夹,代表仓库创建完成2.2 拉取远程已有仓库(克隆)
# https 方式
git clone https://gitee.com/xxx/xxx-project.git
# ssh 方式(推荐,免重复输密码)
git clone git@gitee.com:xxx/xxx-project.git
# 指定文件夹名称
git clone 仓库地址 自定义文件夹名3. 日常开发核心流程
完整四步:修改文件 → 加入暂存区 → 提交本地仓库 → 推送远程
# 1. 查看文件变更(红色未追踪/修改)
git status
# 2. 添加文件到暂存区
git add 文件名.vue # 单个文件
git add . # 当前目录所有变更文件(不含删除)
git add -u # 包含已追踪文件的新增+删除
# 3. 提交本地(遵守commit规范)
git commit -m "fix: 修复页面按钮样式问题"
# 跳过lint校验(仅紧急场景,不推荐)
git commit --no-verify -m "临时提交"
# 4. 推送到远程分支
git push拉取远程最新代码(开发前必执行)
# 拉取远程并合并到本地当前分支
git pull
# 等价于 git fetch + git merge4. 分支管理规范
通用分支命名约定
main/master:生产环境稳定分支,禁止直接提交dev:开发环境分支,迭代合集feat/xxx:新功能分支fix/xxx:bug 修复分支hotfix/xxx:线上紧急修复分支test:测试分支
分支操作命令
# 查看本地所有分支
git branch
# 查看本地+远程所有分支
git branch -a
# 创建新分支
git branch feat/user-login
# 创建并立刻切换到新分支(高频)
git checkout -b feat/user-login
# git 2.23+ 新写法
git switch -c feat/user-login
# 切换已有分支
git checkout dev
git switch dev
# 删除本地分支
git branch -d feat/xxx
# 删除远程分支
git push origin --delete feat/xxx分支合并
# 1. 切换到目标分支(如dev)
git switch dev
# 2. 合并功能分支代码
git merge feat/user-login
# 出现冲突则手动解决后 add + commit5. 提交规范(配合 commitlint/lefthook)
标准格式
<type>(可选scope): 简短描述
空行
详细修改说明(可选)
Fix #需求/缺陷编号type 完整说明
| type | 使用场景 | 示例 |
|---|---|---|
| feat | 新增功能 | feat (task): 新增任务导出 |
| fix | bug 修复 | fix (task): 修复按钮显示不一致 |
| docs | 仅文档修改 | docs: 更新接口文档 |
| style | 代码格式化、空格缩进,无逻辑改动 | style: 统一 vue 缩进 |
| refactor | 代码重构,无新增 / 无修复 | refactor: 封装请求工具 |
| perf | 性能优化 | perf: 列表懒加载优化 |
| test | 单元 / 自动化测试 | test: 新增用户模块用例 |
| chore | 工程配置、依赖、脚本 | chore: 升级 eslint 版本 |
| ci | CI 流水线配置 | ci: 配置自动打包流程 |
| build | 打包构建相关 | build: 修改打包静态资源路径 |
| revert | 回滚历史提交 | revert: feat: 临时测试功能 |
规范关键点
type:冒号后面必须跟英文空格,否则 commitlint 报错(subject-empty、type-empty)- 首行简洁概括,换行后可写多条改动细节
错误示例:
fix:修复按钮问题正确示例:
fix: 修复任务详情按钮显示效果不一致
1. 统一按钮尺寸与颜色样式
2. 调整接口返回字段适配前端6.远程仓库操作
# 查看关联的远程仓库
git remote -v
# 添加远程仓库(本地已init场景)
git remote add origin git@gitee.com:xxx/xxx.git
# 修改远程仓库地址
git remote set-url origin 新仓库地址
# 拉取远程所有分支信息(不合并代码)
git fetch origin
# 推送本地分支到远程并建立关联
git push -u origin feat/xxx7. 常用冲突处理
执行 git pull / git merge 后提示冲突:
- 打开冲突文件,找到
<<<<< HEAD、=====、>>>>> 分支名标记 - 删除冲突标记,保留最终需要的代码
- 保存文件后执行
git add .
git commit -m "merge: 解决分支代码冲突"8. 撤销、回滚操作
8.1 撤销暂存(git add 后,未 commit)
# 取消单个文件暂存
git reset HEAD 文件名
# 全部取消暂存
git reset HEAD .8.2 撤销本地未提交的文件修改(危险,丢失改动)
git checkout -- 文件名
# 清空所有未暂存修改
git checkout -- .8.3 撤销最近一次 commit(保留代码,仅撤回提交)
git reset --soft HEAD~1
# HEAD~1 = 上一个提交8.4 彻底回滚历史提交(已推远程慎用)
# 生成一条新提交抵消旧提交
git revert 提交hash值8.5 重置到指定提交(本地分支清空后续提交)
git reset --hard 提交hash9.实用快捷命令
# 简化提交(跳过git add,仅已追踪文件)
git commit -am "fix: xxx"
# 查看提交日志
git log
# 简洁单行日志
git log --oneline
# 查看单文件修改记录
git log 文件名
# 对比当前文件与暂存区差异
git diff10.团队标准开发流程总结
- 开发前切换 dev 分支,
git pull拉取最新代码 - 创建功能分支
git switch -c feat/xxx - 编码完成,
git add .+ 规范 commit - 多次提交后推送远程
git push -u origin feat/xxx - 提交 MR/PR 合并到 dev
- 合并完成后删除本地、远程功能分支
暂无评论
还没有评论,来说点什么吧