git hook husky
husky 是 Git hooks 工具,可以防止使用 Git hooks 的一些不好的 commit 或者 push。
npx husky add .husky/pre-commit。
jspre-commit 配置 #!/usr/bin/env sh . "$(dirname -- "$0")/\_/husky.sh" pnpm lint:lint-staged
git commit 的规范
常用的 git commit 提交规范(公司项目)
jsfix: 修复 bug 。 add: 新功能。 update: 更新。 style: 代码格式改变。 test: 增加测试代码。 revert: 撤销上一次的 commit。 build: 构建工具或构建过程等的变动,如: gulp 换成了 webpack,webpack 升级等。
commitizen AngularJS 规范(适用于大型开源项目)
js用于说明 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。
解决冲突方法
方案一
js1、本地 checkout 检出并切换到 A 分支,pull 拉取更新到最新代码。 2、在本地 A 分支上,merge 合并远程分支 master。 3、会提示无法合并,手动解决完冲突提交到 A 分支。 4、回到 PR,会发现 PR 已经无冲突。 5、让有 merge 权限的人进行 merge 即可。
方案二
js1、本地 checkout 检出并切换到 master 分支,pull 拉取更新到最新的 master 代码。 2、手动执行将远程 A 分支合并到你本地的 master 分支,此时本地会看冲突的文件。 3、编辑冲突文件,手动解决冲突后,提交 merge。 4、回到 PR,可以发现 PR 已经被 merge 了。