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


98

在Visual Studio Code中,似乎只允许推,拉和同步。有文档证明支持合并冲突,但是我不知道如何在两个分支之间真正合并。VSC中的Git命令行(按F1键)仅简化了一部分命令:

VSCode中提供的eGit选项

尝试从替代分支中拉出或推入替代分支会产生:

git命令限制

这是VSCode的Git Visual Studio Code Git文档上的文档

我在俯视什么?


您确定在所有地方都已检查过吗,请在此博客中讨论如何合并两个分支?
蒂姆·比格勒伊森

5
那是Visual Studio,而不是Visual Studio Code,后者是一个单独的应用程序。更多信息:VisualStudio.com和code.visualstudio.com
TheFastCat '16

Answers:


49

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月6日发行版,也不会给VCS带来任何新的东西。

问题5770支持此操作,该问题确认您不能将VS Code用作git mergetool,因为:

是否有机会在下一次迭代中包含此功能?

可能不是,这是一项很大的工作,因为需要实现合并UI

剩下的实际合并只能从命令行启动。


23
好糟糕!
卡托

很好的建议,但是对我来说,它是命令行或Git Gui / Extensions,但是像在常规Visual Studio中一样,将其内置到Visual Studio Code中会很酷。
卡托

2
对我来说,合并分支机构是日常任务。我们需要在VSCode中进行合并的支持。
乔纳森·拉莫斯

@JonathanRamos,所有工具都有,VSCode专注于您的编码需求,如果您是高级用户,则需要寻找特定于Git的工具。MS将来可能会引入此功能,但目前还有其他选择。
Helmut Granda

会像一个在Visual Studio社区很好的一个特点
塞巴斯蒂安·罗哈斯

147

您无需使用插件就可以做到这一点。

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


1
选择Git:合并分支分支后,它会自动提交吗?
Jyoti Prasad Pal

@JyotiPrasadPal是的,您只需git: push/sync
Vahid


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.