Kau*_*kar 1 git git-push gerrit
我已经使用这个命令一段时间来将我的代码推送到 Gerrit 中。
git push origin HEAD:refs/for/branch
Run Code Online (Sandbox Code Playgroud)
然而,最近我正在开发一个没有 Gerrit 管道的基础设施。我可以进行推送,但我无法在 git 上看到分支。当我跑步时:
git push origin branch
Run Code Online (Sandbox Code Playgroud)
git上可以看到。我正在本地创建的新分支上尝试此操作。
git push 命令的工作原理如下:
git push REPOSITORY SOURCE_REFSPEC:DESTINATION_REFSPEC
Run Code Online (Sandbox Code Playgroud)
对于 Gerrit,当您使用:
git push origin HEAD:refs/for/branch
Run Code Online (Sandbox Code Playgroud)
您要求 Git:
推送到原始存储库(默认情况下,您从中克隆的存储库)
推送工作树的当前提交
将提交推送到“分支”以在 Gerrit 上进行审核。“refs/for/”前缀是一个“神奇”分支,它“指示”Gerrit 必须创建代码审查。请在此处查看有关此内容的更多信息。
仅当您使用 Gerrit 时,“refs/for/”前缀才有意义。
最后,如果您不使用 Gerrit 并执行“git Push origin 分支”,那么您会将当前提交推送到“origin”存储库上的“branch”分支。