问题
git push时报错,显示没有change-id
解决
方法1. 拉取commit-msg(未解决)
change-id是通过hooks/commit-msg这个文件自动成的,报错提示也很明显,它想让你重新拉取这个commit-msg文件来生成change-id。
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 姓名@gerrit.cmss.com:hooks/commit-msg ${gitdir}/hooks/
git commit --amend --no-edit
git push origin HEAD:refs/for/develop
网上绝大部分方法都是这么做,但这个方法对我不奏效,推送时仍然报没有change-id。
替换别的有用的commit-msg、甚至替换hooks也不奏效。
换一台笔记本提交,可以正常提交。
方法2. 手动写一个change-id(未解决)
在上次提交的change-id基础上改几个数字或者字符,提交上去。
这个方法在试了几次也不生效了。
由于同一个项目我copy了几份,在删掉一些复制的文件夹后突然能正常提交了,不知道是否和这个原因相关
方法3. 删除husky(解决)
1. 拉取项目文件,正常npm install后
2.把项目目录下,.git/config文件中 huskyPath = .husky 删除
3. 删除package.json里husky相关的两行代码
可以正常提交。