将本地代码推送到已存在的远程分支

40

我如何将本地git分支的更改推送到现有的非主远程分支?如果我执行“git push”,它会尝试将所有本地分支中的更改推送到它们正在跟踪的远程。

2个回答

68

您可以使用 refspec 来实现此操作,如 git push 文档中所解释的那样。例如:

git push origin local_branch_name:remote_branch_name

谢谢,这个方法有效!(对我有效的方法是:git push origin +<本地分支名称>:<远程分支名称>) - sandeeps
1
小心使用 +,加号会强制更新,即使其他远程提交可能被丢弃。当像这样使用 git push 时,更改不会自动合并。 - Greg Hewgill
好的,我会小心的。通常我会先拉取变更,将我的修改合并到它们上面,解决任何冲突,然后进行 git 推送。 - sandeeps
1
这就是为什么我建议不要使用+。如果有人在你合并时推送了提交,那么使用+将会丢弃他们的提交。如果你不使用+,你将会收到通知,然后只需要再次拉取和合并即可。 - Greg Hewgill
我该如何确定远程分支的名称? - Charlie Parker
@CharlieParker:这个问题和答案假设你已经知道你想要推送到哪个分支。如果你不知道你想要的分支,那就是另一个问题了。 - Greg Hewgill

8
如果分支已经存在于代码库中,只需执行以下命令:

git push origin branch_name


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接