Git快速入门
提交规范
commit信息
commit message格式:
-
type(必须)
用于说明git commit的类别,只允许使用下面的标识。
• feat:新功能(feature)。
• fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
• fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
• to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
• docs:文档(documentation)。
• style:格式(不影响代码运行的变动)。
• refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
• perf:优化相关,比如提升性能、体验。
• test:增加测试。
• chore:构建过程或辅助工具的变动。
• revert:回滚到上一个版本。
• merge:代码合并。
• sync:同步主线或分支的Bug。 -
scope(可选)
这里是否必须,以及范围是什么内容,可以看实际公司的情况。
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。 -
subject(必须)
subject是commit目的的简短描述,不超过50个字符。
• 结尾不加句号或其他标点符号。
• 根据以上规范git commit message将是如下的格式:
fix(DAO):用户查询缺少username属性
feat(Controller):用户查询接口开发
版本号
V1.0.0.20211028_base
解读一下这个版本号命名规范:
- 第一位:版本前缀(V)
V (version)英文版本的缩写 - 第二位:主版本号(V1)
当功能模块有较大的变动,比如增加模块或是整体架构发生变化。此版本号由项目经理决定是否修改。 - 第三位:副版本号(V1.0)
当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目经理决定是否修改。 - 第四位:修订版本号(V1.0.0)
一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由项目经理决定是否修改。 - 第五位:日期版本号(V1.0.0.20211028_base)
用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。 - 第六位:希腊字母版本号(V1.0.0.20211028_base)
希腊字母版本号共有五种,分别为base、alpha、beta 、RC 、 release
Base: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构。
Alpha : 软件的初级版本,表示该软件在此阶段以实现软件功能为主,通常只在软件开发者 内部交流,一般而言,该版本软件的Bug较多,需要继续修改,是测试版本。测试人员提交Bug经开发人员修改确认之后,发布到测试网址让测试人员测试,此时可将软件版本标注为alpha版。
Beta : 该版本相对于Alpha 版已经有了很大的进步,消除了严重错误,但还需要经过多次测试来进一步消除,此版本主要的修改对象是软件的UI。修改的的Bug 经测试人员测试确认后可发布到外网上,此时可将软件版本标注为 beta版。
RC : 该版本已经相当成熟了,基本上不存在导致错误的Bug,与即将发行的正式版本相差无几。
Release: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式的版本,是最终交付用户使用的一个版本。该版本有时也称标准版。
常用命令
配置Git
//升级 |
查看信息
//查看提交历史 |
合作开发
//创建一个名为 .git 的子目录 |
移除文件
配置变量
- git config 的工具来帮助设置控制 Git 外观和行为的配置变量
- 配置变量存储在三个不同的位置:
配置变量 | 作用 |
---|---|
/etc/gitconfig 文件 | 1. 系统上每一个用户及他们仓库的通用配置 2. 使用带有 --system 选项的git config 时,它会从此文件读写配置变量 |
~/.gitconfig 或 ~/.config/git/config 文件 | 1.针对当前用户 传递 --global 选项让 Git读写此文件 |
.git/config | 针对该仓库 |
列表中每下一行都可以覆盖前几行的配置
忽略文件
- 创建.gitignore文件
- 在里面写入信息。需满足以下条件:
- 所有空行或者以 # 开头的行都会被 Git 忽略。
- 可使用标准的 glob 模式(简化的正则表达式)匹配。
- 匹配模式可以以(/)开头防止递归。如/TODO只忽略当前目录的TODO文件
- 匹配模式可以以(/)结尾指定目录。如build/忽略所有build目录下的文件
- 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
Tips
- 每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit。否则提交的时候不会记录这些还没暂存起来的变化,这些修改过的文件只保留在本地磁盘
顺序
//配置用户信息 |