Git GUI 推送到特定分支

4
如何在GIT GUI中将代码推送到特定分支?我似乎找不到这个选项。比如说,我想要推送到一个名为“branchOne”的特定分支,应该怎么做呢?我正在推送到gitlab。请参考下图操作:enter image description here

3
你不能从一个无关的分支推送到另一个分支。这不是推送,而是合并。推送意味着将本地分支所做的更改发送到其相关联的远程分支 - 为避免混淆,应该具有相同的名称。检出branchOne,合并来自master的更改,然后将本地的branchOne推送到远程。 - Panagiotis Kanavos
@PanagiotisKanavos,您的意思是我选择分支->创建->跟踪分支来检出branchOne吗? - desmondlee
2个回答

0
无论何时,当你将某些东西推送到远程服务器时,你都在推送一个特定的分支。在你的情况下,你有一个主分支,所以主分支中的更改将被添加到远程。
如果你有两个分支master和development,那么在推送时你必须在GIT GUI中指定要推送哪个分支,因此只有在该分支中提交的代码才会被添加到远程仓库。
因此,从技术上讲,你所要求的并不是必需的。

那我该如何克隆一个特定的分支? - desmondlee
你不需要克隆一个特定的分支。如果你已经克隆了远程仓库,那么你已经克隆了所有的分支。你只需要切换到本地分支的“副本”即可。 - Panagiotis Kanavos
当您克隆存储库时,将克隆所有分支和提交,无法仅克隆特定分支。 - vivek verma

-2
在 Git 中,您需要指定分支的名称来进行 pullpush 操作。
在旧版本中,这不是强制性的,但会产生一些副作用。

如果您想要推送到主分支,您应该在工具中指定分支名称,让您选择所需的分支。


SourceTree

目前最好的GUI工具是SourceTree,它比你正在使用的git工具要好得多。


Git v2.0 发布说明

向后兼容性说明

git push [$there]没有指定要推送的内容时,我们迄今为止一直使用传统的matching语义(只要远程已经存在同名分支,所有你的分支都会被发送到远程)。在 Git 2.0 中,默认值现在是simple语义,它会推送:

  • 仅将当前分支推送到具有相同名称的分支,并且仅在当前分支设置为与该远程分支集成时,如果您正在从同一个远程获取,则推送到该分支;或者

  • 仅将当前分支推送到具有相同名称的分支,如果您正在推送到不是您通常获取的远程。

您可以使用配置变量push.default来更改此设置。如果您是老用户,想继续使用matching语义,可以将变量设置为"matching"。阅读文档以了解其他可能性。


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