git的使用已经愈发频繁,这里对git使用做下小结,以方便今后使用。
commit规范
commit的规范格式
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
Header
Header主要包括3个字段:type、scope、subject
type是用于说明commit的类型,大体可以分为以下几种:
- feat: 新增feature
- fix: 修复bug
- docs: 仅仅修改了文档,如readme.md
- style: 仅仅是对格式进行修改,如逗号、缩进、空格等。不改变代码逻辑。
- refactor: 代码重构,没有新增功能或修复bug
- perf: 优化相关,如提升性能、用户体验等。
- test: 测试用例,包括单元测试、集成测试。
- chore: 改变构建流程、或者增加依赖库、工具等。
- revert: 版本回滚
- ci: 构建流水线
scope用于说明commit影响的范围,可以按照模块说明,该字段可选
subject是对提交的简单描述。
Body
对commit内容的具体描述,比如
# body: 72-character wrapped. This should answer:
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
# initial commit
Footer
备注,通常是breaking change(与上一个版本不兼容),或修复的bug(关闭的issue)的链接
git tag处理
查看远端的tag列表
git ls-remote -t
查看本地的tag列表
git tag -l
删除本地tag
git tag -d xxx
拉取远程tag
git fetch origin --prune-tags
删除远程tag
git push origin --delete tag xxx
git恢复本地错误操作
git reflog命令维护的是顺序的提交列表,它并不是仓库的一部分,而是单独存储,属于本地存储
git reflog show
引用
【1】 git提交规范 【2】 git reflog用法总结