git常用规范
分支
- master分支为主分支(保护分支),不能直接在master上进行修改代码或提交,通过MR(merge Request)或者PR(pull Request)的方式进行提交。
- preview分支为预发分支, 所有测试完成需要上线的功能合并到该分支
- develop、 test分支为测试分支,所有开发完成需要提交测试的功能合并到该分支
- feature/xxx分支为功能开发分支,根据不同需求创建独立的功能分支,开发完成后合并到develop或test分支
- hotfix分支为bug修复分支,需要根据实际情况对已发布的版本进行漏洞修复
Tag
- 架构升级或架构重大调整,修改第1位
- 新功能上线或者模块大的调整,修改第2位
- bug修复上线,修改第3位
Commit message的格式
- feat:新功能(feature)
- fix:修补bug
- docs:文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
- test:增加测试
git commit(emoji)
commit时添加 emoji 表情的提交记录能包含很多有用信息,提升阅读体验
emoji | emoji 代码 | commit 说明 |
---|---|---|
🎉 (庆祝) | :tada: | 初次提交 |
🐛 (bug) | :bug: | 修复 bug |
📝 (备忘录) | :memo: | 撰写文档 |
🎨 (调色板) | :art: | 改进代码结构/代码格式 |
⚡ (闪电)🐎 (赛马) | :zap:“:racehorse: | 提升性能 |
🔥 (火焰) | :fire: | 移除代码或文件 |
🚑 (急救车) | :ambulance: | 重要补丁 |
✨ (火花) | :sparkles: | 引入新功能 |
🚀 (火箭) | :rocket: | 部署功能 |
💄 (口红) | :lipstick: | 更新 UI 和样式文件 |
✅ (白色复选框) | :white_check_mark: | 增加测试 |
🔒 (锁) | :lock: | 修复安全问题 |
🍎 (苹果) | :apple: | 修复 macOS 下的问题 |
🐧 (企鹅) | :penguin: | 修复 Linux 下的问题 |
🏁 (旗帜) | :checked_flag: | 修复 Windows 下的问题 |
🔖 (书签) | :bookmark: | 发行/版本标签 |
🚨 (警车灯) | :rotating_light: | 移除 linter 警告 |
🚧 (施工) | :construction: | 工作进行中 |
💚 (绿心) | :green_heart: | 修复 CI 构建问题 |
⬇️ (下降箭头) | :arrow_down: | 降级依赖 |
⬆️ (上升箭头) | :arrow_up: | 升级依赖 |
👷 (工人) | :construction_worker: | 添加 CI 构建系统 |
📈 (上升趋势图) | :chart_with_upwards_trend: | 添加分析或跟踪代码 |
🔨 (锤子) | :hammer: | 重大重构 |
➖ (减号) | :heavy_minus_sign: | 减少一个依赖 |
🐳 (鲸鱼) | :whale: | Docker 相关工作 |
➕ (加号) | :heavy_plug_sign: | 增加一个依赖 |
🔧 (扳手) | :wrench: | 修改配置文件 |
🌐 (地球) | :globe_with_meridians: | 国际化与本地化 |
✏️ (铅笔) | :pencil2: | 修复 typo |
常用 git 命令及解释
命令 | 作用说明 |
---|---|
git clone <仓库地址> | 克隆远程仓库到本地 |
git status | 查看当前工作区状态(文件变动、暂存等) |
git add <文件> | 将文件添加到暂存区 |
git add . | 添加所有变动文件到暂存区 |
git commit -m "说明" | 提交暂存区内容到本地仓库,并添加说明 |
git pull | 拉取远程仓库最新代码并合并到本地 |
git push | 推送本地提交到远程仓库 |
git branch | 查看本地分支列表 |
git branch <分支名> | 新建分支 |
git checkout <分支名> | 切换到指定分支 |
git checkout -b <分支名> | 新建并切换到指定分支 |
git merge <分支名> | 合并指定分支到当前分支 |
git log | 查看提交历史 |
git diff | 查看文件改动内容 |
git stash | 临时保存当前工作区的修改 |
git stash pop | 恢复最近一次保存的内容 |
git remote -v | 查看远程仓库地址 |
git tag | 查看所有标签 |
git tag <标签名> | 新建标签 |
git reset --hard <commit> | 回退到指定提交(慎用) |
git rm <文件> | 删除文件并提交到版本库 |
git fetch | 拉取远程分支到本地但不自动合并 |
git rebase <分支名> | 变基操作,将当前分支变基到指定分支 |
更多命令和高级用法可参考