将远程更改合并到非当前分支的分支

35

我有多个分支,我想将远程更改合并到一个不是我的当前分支的分支中。

例如:

git merge remote/branch some-other-branch

1
你不能切换到该分支进行合并,有特别的原因吗?你可以使用 git stash 命令来暂时存储当前分支上未提交的工作。 - ezod
7
不确定OP的情况,但我有这样一种情况,我想在一个可能被另一个进程使用的仓库中执行此操作。也就是说,该进程正在某个分支X上工作,并期望当前分支为X,而我想更新分支Y。 - Chris Cogdon
4
由于Visual Studio的文件系统监视器将会重新加载30个项目,因此这样做可能会影响效率。 - Joshua
3个回答

29

只有在本地分支可以快进到远程分支的情况下,才能完成此操作。在任何分支中,要获取远程分支并将本地 HEAD 更新为远程 HEAD,请使用以下命令:

git fetch origin remote_branch:local_branch

本质上,这与使用 git push -u origin local_branch:remote_branch 打开新分支的方式相反。


3

一个答案针对一个类似的问题,它可能可以做你想要的事情。

从您的代码库根目录:

git push . remote/branch:some-other-branch

当我想要将主分支快进到一个稍晚的提交,然后从我所在的分支(而不是主分支)中将其变基时,以下方法对我有效:


1
这个与 OP 想要的相反,问题是将 远程 更改合并到本地非当前分支。 - greuze

-1

我认为这是不可能的,这是设计上的问题。来自man手册

描述
       将来自指定提交的更改(自它们的历史记录与当前分支分开的时间以来)合并到当前分支中。

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