管理员在 gerrit 创建了个新的仓库(空的),我本地拉取下来在首次推送的时候遇到了一些问题,记录一下。
正常我们通过 git clone
克隆一个有内容(master分支)的仓库后,本地会自动生成远程仓库master分支的引用 origin/master
以及 本地分支 master
,并且自动将 origin/master 设置为 master 的上游分支
(upstream branch)。当执行 git pull
或 git push
等命令时,会自动识别当前分支的上游分支
然后进行拉取或推送操作。
回到我们的问题:拉取空的远程仓库。空远程仓库,说明远程仓库中一个分支都没有。当我们执行 git clone
时,本地并不会自动创建 origin/master 和 master 。反而当我们在本地仓库进行第一次commit时,本地会自动创建master分支。
git pull
时,本地分支并不知道的上游分支
是谁,所以这里需要手动配置一下:git branch --set-upstream-to=origin/master master
git push
时,需要将本地分支推送到gerrit的审核分支
,执行如下命令:git igin.push refs/heads/*:refs/for/*
push并设置上游分支:git push --set-upstream origin master:refs/for/master
push:git push origin HEAD:refs/for/master
ERROR:missing Change-Id in commit message
原因:某个 commit 缺少 changeId 信息,gerrit 不允许push。
解决:回滚到没有changeId的 commit 版本,执行如下命令,会给 commit 生成一个 changId
git commit --amend --no-edit
提交信息与gerrit配置的邮箱不一致,无法失败
reference:
本文发布于:2024-02-01 23:48:35,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170680752039962.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |