在Visual Studio Code中,我如何合并两个本地分支?

137
在Visual Studio Code中,我似乎只被允许推送、拉取和同步。有关合并冲突的支持已经记录下来了,但我无法弄清楚如何在两个分支之间实际进行合并。VSC内的Git命令行(按F1)仅提供了一部分命令:

eGit options available in VSCode

尝试从另一个分支拉取或推送到另一个分支会产生以下结果:

git Command throttling

这是关于VSCode Git的文档 Visual Studio Code Git Documentation

我有什么遗漏吗?


你确定已经到处检查过了吗?请参考此博客,其中讨论了如何合并两个分支:https://jeremybytes.blogspot.sg/2014/12/getting-used-to-git-in-visual-studio.html?m=1 - Tim Biegeleisen
6
那是Visual Studio而不是独立的应用程序Visual Studio Code。更多信息请访问:VisualStudio.com和https://code.visualstudio.com。 - TheFastCat
5个回答

192

你可以不使用插件来完成。

在我使用的最新版vscode(1.17.0)中,你可以简单地打开你想要的分支(从左下角菜单),然后按下ctrl+shift+p并输入Git: Merge branch,然后选择你想要合并到当前分支的另一个分支。


1
选择 Git: Merge branch branch 后,它会自动提交吗? - Jyoti Prasad Pal
1
@JyotiPrasadPal 是的,你只需要 git: push/sync - Vahid

55

2017年6月更新(来自VSCode 1.14

通过PR 25731和提交89cd05f,添加了合并本地分支的功能:通过"Git: merge branch"命令访问。
PR 27405还正确处理了diff3风格的合并。

Vahid回答中提到了1.17,但是9月发布实际上并未添加有关合并的任何内容。
只有10月份的1.18版本添加了Git冲突标记

https://code.visualstudio.com/assets/updates/1_18/merge.png

从1.18版本开始,结合合并命令(1.14)和合并标记(1.18),你可以在本地分支之间进行真正的合并。

2016年的原始回答:

版本控制文档没有提到合并命令,只提到了合并状态和冲突支持。

即使是最新的1.3六月发布版也没有为VCS带来任何新功能。

这得到了问题5770的支持,该问题确认您无法将VS Code用作git mergetool,因为:

这个特性有可能被包含在下一个迭代中吗?

可能不会,因为这是一项巨大的努力,需要实现合并UI。

这样,实际的合并只能从命令行发起。


28
那太糟糕了! - Caltor
3
合并分支对我来说是日常任务。我们需要在 VSCode 中得到合并的支持。 - Jonathan Ramos
@JonathanRamos,万物皆有工具,VSCode专注于您编写代码的需求,如果您是高级用户,则需要寻找Git特定的工具。微软可能会在未来引入此功能,但目前还有其他替代方案。 - Helmut Granda
希望能有像Visual Studio Community中那样的功能。 - Sebastián Rojas
@HelmutGranda 你说得对。VSCode允许我将Git Bash设置为默认终端,所以我可以从那里进行合并操作。这是一个更好的方法。 - Jonathan Ramos
显示剩余3条评论

44

实际上,您可以通过VS Code执行以下操作:

使用 VS Code 合并本地分支


6
为了更清楚,我想要补充说明:首先,你需要切换到你想要将更改带入的分支(即检出分支),你可以在“状态栏”的左下角点击该分支名称(它旁边有一个小的源代码控制分支图标)。第二步:按照图像所示操作(选择“分支” > “合并分支...”)。第三步:在弹出的菜单中选择你想要提取更改的分支。 - Buzz B
嗨@BuzzB,这个评论真的很有帮助。谢谢你。 - R. Baraiya
这是正确的答案! - Nav

30

我曾经有同样的问题,所以我创建了Git Merger
希望这能有所帮助 :)


8

我发现了一个名为Git Merger的VS code扩展。它添加了Git: Merge from命令。


4
他上面两条评论的那个人字面上写了“X)”。 - Don Draper
上面的第二个人评论 - undefined

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