当 git 推送 origin HEAD:refs/for/branch 时会发生什么
What happens when git push origin HEAD:refs/for/branch
我一直在使用这个命令在 Gerrit 中推送我的代码..
git push origin HEAD:refs/for/branch
但是,最近我正在研究一个没有 Gerrit 管道的基础设施。我可以进行推送,但无法看到 git 上的分支。当我 运行:
git push origin branch
可以在git上看到。我正在本地创建的新分支上尝试此操作。
命令 git push 的工作方式如下:
git push REPOSITORY SOURCE_REFSPEC:DESTINATION_REFSPEC
使用 Gerrit,当您使用:
git push origin HEAD:refs/for/branch
您要求Git:
- 存储库=来源
推送到原始存储库(默认情况下,您从中克隆的存储库)
- SOURCE_REFSPEC=头部
推送工作树的当前提交
- DESTINATION_REFSPEC=refs/for/branch
将提交推送到 "branch" 以在 Gerrit 上进行审核。 "refs/for/" 前缀是一个 "magical" 分支,"instruct" Gerrit 必须创建代码审查。查看有关此内容的更多信息 here。
只有在使用 Gerrit 时,"refs/for/" 前缀才有意义。
最后,如果您不使用 Gerrit 并执行 "git push origin branch",您会将当前提交推送到 "origin" 存储库上的 "branch" 分支。
我一直在使用这个命令在 Gerrit 中推送我的代码..
git push origin HEAD:refs/for/branch
但是,最近我正在研究一个没有 Gerrit 管道的基础设施。我可以进行推送,但无法看到 git 上的分支。当我 运行:
git push origin branch
可以在git上看到。我正在本地创建的新分支上尝试此操作。
命令 git push 的工作方式如下:
git push REPOSITORY SOURCE_REFSPEC:DESTINATION_REFSPEC
使用 Gerrit,当您使用:
git push origin HEAD:refs/for/branch
您要求Git:
- 存储库=来源
推送到原始存储库(默认情况下,您从中克隆的存储库)
- SOURCE_REFSPEC=头部
推送工作树的当前提交
- DESTINATION_REFSPEC=refs/for/branch
将提交推送到 "branch" 以在 Gerrit 上进行审核。 "refs/for/" 前缀是一个 "magical" 分支,"instruct" Gerrit 必须创建代码审查。查看有关此内容的更多信息 here。
只有在使用 Gerrit 时,"refs/for/" 前缀才有意义。
最后,如果您不使用 Gerrit 并执行 "git push origin branch",您会将当前提交推送到 "origin" 存储库上的 "branch" 分支。