No Visual Studio Code Como faço para mesclar entre duas ramificações locais?

97

No Visual Studio Code, parece que só tenho permissão para enviar, puxar e sincronizar. Há suporte documentado para conflitos de mesclagem, mas não consigo descobrir como realmente mesclar entre duas ramificações. A linha de comando Git dentro do VSC (pressione F1) facilita apenas um subconjunto de comandos:

Opções de eGit disponíveis em VSCode

Tentar extrair de um branch alternativo ou empurrar para um branch alternativo resulta em:

git Command throttling

Aqui está a documentação sobre Git Visual Studio Code Git do VSCode. Documentação Git

O que estou esquecendo?

TheFastCat
fonte
Tem certeza de que verificou em todos os lugares, qv este blog que discute como mesclar dois ramos?
Tim Biegeleisen
5
Isso é Visual Studio e não Visual Studio Code, que é um aplicativo totalmente separado. Mais informações: VisualStudio.com e code.visualstudio.com
TheFastCat

Respostas:

48

Atualização de junho de 2017 (de VSCode 1.14 )

A capacidade de mesclar branches locais foi adicionada através do PR 25731 e commit 89cd05f : acessível através do Git: merge branchcomando " ".
E PR 27405 adicionado controlando a fusão de estilo diff3 corretamente.

A resposta de Vahid menciona 1.17, mas aquele lançamento de setembro na verdade não acrescentou nada em relação à fusão.
Apenas o de 1.18 de outubro adicionou marcadores de conflito Git

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

A partir do 1.18, com a combinação do comando merge (1.14) e marcadores de merge (1.18), você realmente pode fazer mesclagens locais entre ramos.


Resposta original 2016:

O documento de controle de versão não menciona comandos de mesclagem, apenas status de mesclagem e suporte a conflitos.

Mesmo a última versão de 1,3 de junho não traz nada de novo para a frente do VCS.

Isso é suportado pelo problema 5770, que confirma que você não pode usar o VS Code como um git mergetool, porque:

Esse recurso está sendo incluído na próxima iteração, por acaso?

Provavelmente não, este é um grande esforço, uma vez que uma IU de mesclagem precisa ser implementada .

Isso deixa a mesclagem real para ser iniciada apenas na linha de comando.

VonC
fonte
22
Bem, isso é péssimo!
Caltor
Boa sugestão, mas é linha de comando ou Git Gui / Extensions para mim, mas seria legal ter isso integrado no Visual Studio Code como é no Visual Studio normal.
Caltor de
2
A fusão de ramos é uma tarefa diária para mim. Precisamos de suporte para fusão em VSCode.
Jonathan Ramos,
@JonathanRamos, Existem ferramentas para tudo, o VSCode foca nas suas necessidades de código, você precisa procurar uma ferramenta específica do Git se você for um usuário avançado. É possível que a MS introduza esse recurso no futuro, mas existem outras alternativas no momento.
Helmut Granda,
Seria bom um recurso como o da Comunidade do Visual Studio
Sebastián Rojas
146

Você pode fazer isso sem usar plug-ins.

Na última versão do vscode que estou usando (1.17.0), você pode simplesmente abrir o branch que deseja (no menu inferior esquerdo), pressionar ctrl+shift+pe digitar Git: Merge branche escolher o outro branch do qual deseja mesclar (para o atual)

Vahid
fonte
1
Depois de selecionar Git: Merge branch branch, ele será confirmado automaticamente?
Jyoti Prasad Pal
@JyotiPrasadPal sim, você só precisagit: push/sync
Vahid
8

Eu encontrei esta extensão para o código VS chamada Git Merger . Acrescenta Git: Merge fromaos comandos.

Jay Culpepper
fonte