我有一个问题如下。我已经执行了五次
git push origin
但随后运行git push origin HEAD:refs/for/feature_1.0
,终端提示缺少change-id
我已尝试解决问题
步骤1:
gitdir=$(git rev-parse --git-dir); scp -O -P 29002 [email protected]:hooks/commit-msg ${gitdir}/hooks/
步骤2:
git commit --amend
第三步:
git push origin HEAD:refs/for/feature_1.0
仍然错误缺少change-id
希望您能给我一些建议,非常感谢...
列出新提交并查找消息中没有 Change-Id 的提交。
git fetch origin feature_1.0
git log FETCH_HEAD..HEAD
当您下载
commit-msg
并运行git commit --amend
时,如果头提交仍然没有Change-Id,则commit-msg
有问题。如果您给core.hookspath
设置了路径,则需要将下载的commit-msg
复制到该路径下。
如果之前的提交没有 Change-Id,一个快速的解决方案是对所有新提交进行变基并运行
git commit --amend --no-edit
,以便在每次变基提交后调用 commit-msg
来生成 Change-Id。
git fetch origin feature_1.0
git rebase -i $(git merge-base FETCH_HEAD HEAD) --rebase-merges --exec 'git commit --amend --no-edit'