美文网首页
解决-Git: 第一次提交代码时报错“missing Chang

解决-Git: 第一次提交代码时报错“missing Chang

作者: Nil_Woo | 来源:发表于2022-07-14 18:20 被阅读0次

    ##现象

    使用gerrit做代码管理,如果是本地第一次提交代码到git仓库,会报以下错误。

    Counting objects: 6, done.

    Delta compression using up to 8 threads.

    Compressing objects: 100% (6/6), done.

    Writing objects: 100% (6/6), 517 bytes | 517.00 KiB/s, done.

    Total 6 (delta 5), reused 0 (delta 0)

    remote: Resolving deltas: 100% (5/5)

    remote: Processing changes: refs: 1, done

    remote: ERROR: [03d6876] missing Change-Id in commit message footer

    remote:

    remote: Hint: To automatically insert Change-Id, install the hook:

    remote:  gitdir=$(git rev-parse --git-dir); scp -p -P 29418 huanglin@192.168.0.221:hooks/commit-msg ${gitdir}/hooks/

    remote: And then amend the commit:

    remote:  git commit --amend

    remote:

    To ssh://192.168.0.221:29418/**Project

    ! [remote rejected] HEAD -> refs/for/master ([03d6876] missing Change-Id in commit message footer)

    error: failed to push some refs to 'ssh://huanglin@192.168.0.221:29418/**Project'

    上面的错误就是说,我们提交的commit-msg里面缺少了Change-Id。

    ##解决办法

    在windows和Linux系统环境下,解决办法有点不一样。

    ####Linux系统解决办法

    直接按照报错提示,按下面步骤操作:

    cd到项目的根目录

    将报错提示中的这段命令复制到终端,按enter键,执行命令

    gitdir=$(git rev-parse --git-dir); scp -p -P 29418 huanglin@192.168.0.221:hooks/commit-msg ${gitdir}/hooks/

    执行命令git commit --amend

    保存退出。

    ####windows平台解决办法

    在windows平台下面,如果执行gitdir那一段命令,会提示说gitdir不是内部或外部命令,也不是可运行的程序或批处理文件。这个时候,就只能用下面这个万能大招了。

    cd到项目的根目录

    执行命令

    curl -Lo .git/hooks/commit-msg http://server:port/tools/hooks/commit-msg

    执行命令git commit --amend

    保存退出

    注:server就是你的gerrit服务器的地址,port就是仓库的端口号

    相关文章

      网友评论

          本文标题:解决-Git: 第一次提交代码时报错“missing Chang

          本文链接:https://www.haomeiwen.com/subject/txjfirtx.html