如何将更改作为分支推送到远程服务器而不是主线

时间:2016-08-22 06:28:25

标签: git

我从git repository(远程服务器)中提取了一个项目。我做了一些修改。

现在我需要在不在主线的服务器中推送分支。
例如,在服务器中,V1-> V2-> V3 我的工作区域是V2。我想推进V2.1。不像V4。

我用于推送的常用命令是git push origin HEAD:refs/for/master/issue5221 是否有一些东西可以替换该命令中的master作为分支推送?

我尝试过这样的事情git push origin HEAD:refs/for/my_branch/issue5221。但它没有用。由于“my_branch”不在远程服务器中。

2 个答案:

答案 0 :(得分:1)

您应该能够通过以下方式将HEAD推送到新分支(在接收提交时创建):

git push origin HEAD:my_branch/issue5221

(更一般地说,you can push a local branch to a remote repo on a different branch

答案 1 :(得分:0)

看来你正在使用Gerrit。因此,您需要让管理员创建分支refs/heads/my_branch/issue5221,之后您可以转到refs/for/my_branch/issue5221。如果这不是官方分支,您可以通过git push origin HEAD:refs/sandbox/<your-username>/<any-name-you-want>将其推送到沙箱分支。无法通过refs/sandbox/<your-username>/*获取git clone,但可以通过git fetch origin refs/sandbox/<your-username>/* && git checkout FETCH_HEAD完成。其他用户不允许更新此参考。