git commit 提交规范
这里以 coding 工作台为例子,在仓库设置中开启git提交信息的格式校验,其它代码托管平台可能需要修改一下正则。
sh
^(feat|fix|docs|style|refactor|perf|test|build|revert|merge|chore)(\(.+\))?:\s+(.*)#[0-9]+\s+|^(Accept Merge Request)\s+#[0-9]+:\s+(\(.+\s+->\s+.+\))^(feat|fix|docs|style|refactor|perf|test|build|revert|merge|chore)(\(.+\))?:\s+(.*)#[0-9]+\s+|^(Accept Merge Request)\s+#[0-9]+:\s+(\(.+\s+->\s+.+\))书写工具辅助
第一种:
全局安装 commitizen,即可使用 git cz 命令取代 git commit,提供交互式选择界面,协助书写。
sh
npm install -g commitizen cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrcnpm install -g commitizen cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc参考阅读 Commit Message
第二种:
更花哨一点,使用 git-cz
sh
npx git-cz
// or
npm install -g commitizen
npm install --save-dev git-cznpx git-cz
// or
npm install -g commitizen
npm install --save-dev git-czgit提交代码风格检查
husky > pre-commit hook failed (add --no-verify to bypass)
其他git操作
| 简写(Alias) | 对应命令 | 详情 |
|---|---|---|
| gaa | git add --all | 添加当前项目所有文件修改、增删的文件到缓存区 |
| gb | git branch | 查看分支列表 |
| gc! | git commit -v --amend | 修正上次提交,像 reabase 一样操作,每次提交执行一次,覆盖上一次提交,即可保证只有一个 commit |
| gcb | git checkout -b | 基于当前分支切换新的分支 |
| gcp | git cherry-pick | 根据 commitId 拿某一次的提交 |
| gbD | git branch -D | 删除分支 |
| glods | git log --graph --date=short | 查看提交记录 |
| gpf | git push --force | 强制推送,一般用于 reabase 之后 |
- 查看完整信息
sh
git refloggit refloggit stash
平常需要切换分支,但有时候又不想要立即 commit 上去,于是可以通过 git stash 备份一下,主要的一些命令如下:
备份当前改动
sh
git stashgit stash查看备份列表
sh
git stash listgit stash list恢复备份的改动
sh
git stash popgit stash pop删除其它分支
这个是我经常会用到的,因为本地开发多次之后,使用 git branch 之后会发现有很多分支还在,为了保证「干净卫生」,所以就了解一下,可以执行如下命令。
- 增强命令(master)
可以删除除开 master 以外的分支,但类似
mr/master/xxx这样的带有 master 的删除不了。
sh
git stash && git checkout master && git branch | grep -v "master" | xargs git branch -Dgit stash && git checkout master && git branch | grep -v "master" | xargs git branch -D- 增强命令(main)
同上。
sh
git stash && git checkout main && git branch | grep -v "main" | xargs git branch -Dgit stash && git checkout main && git branch | grep -v "main" | xargs git branch -D- 增强命令(release)
同上。
sh
git stash && git checkout release && git branch | grep -v "release" | xargs git branch -Dgit stash && git checkout release && git branch | grep -v "release" | xargs git branch -D更多
推荐阅读 彻底搞懂 git-Rebase
【程序员进厂前必知必会 git 技巧】 https://www.bilibili.com/video/BV1ZP4y1Q76V/?share_source=copy_web&vd_source=f0bb053e3963931d279d36662f172160
更多内容可参考 git-stash 用法小结
liang14658fox