En Visual Studio Code ¿Cómo puedo fusionar dos ramas locales?

97

En Visual Studio Code, parece que solo puedo presionar, extraer y sincronizar. Hay soporte documentado para los conflictos de fusión, pero no puedo averiguar cómo fusionar realmente dos ramas. La línea de comandos de Git dentro de VSC (presione F1) solo facilita un subconjunto de comandos:

Opciones de eGit disponibles en VSCode

Intentar sacar de una rama alternativa o empujar a una rama alternativa produce:

Aceleración del comando git

Aquí está la documentación sobre Git Visual Studio Code Git Documentation de VSCode

¿Qué estoy pasando por alto?

TheFastCat
fuente
¿Estás seguro de que has consultado en todas partes, en este blog que analiza cómo fusionar dos ramas?
Tim Biegeleisen
5
Eso es Visual Studio y no Visual Studio Code, que es una aplicación completamente separada. Más información: VisualStudio.com y code.visualstudio.com
TheFastCat

Respuestas:

48

Actualización de junio de 2017 (de VSCode 1.14 )

La capacidad de fusionar ramas locales se ha agregado a través de PR 25731 y confirmar 89cd05f : accesible a través del Git: merge branchcomando " ".
Y PR 27405 agregó el manejo correcto de la combinación de estilo diff3.

La respuesta de Vahid menciona 1.17, pero ese lanzamiento de septiembre en realidad no agregó nada con respecto a la fusión.
Solo el 1.18 de octubre agregó marcadores de conflicto de Git

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

Desde 1.18, con la combinación del comando de combinación (1.14) y los marcadores de combinación (1.18), realmente puede realizar combinaciones locales entre ramas.


Respuesta original 2016:

El documento de Control de versiones no menciona los comandos de combinación, solo el estado de combinación y la compatibilidad con conflictos.

Incluso la última versión 1.3 de junio no trae nada nuevo al frente de VCS.

Esto es compatible con el problema 5770 que confirma que no puede usar VS Code como un git mergetool, porque:

¿Se incluirá esta característica en la próxima iteración, por casualidad?

Probablemente no, este es un gran esfuerzo, ya que es necesario implementar una interfaz de usuario de fusión .

Eso deja que la fusión real se inicie solo desde la línea de comandos.

VonC
fuente
22
Bueno, eso apesta!
Caltor
Buena sugerencia, pero es una línea de comandos o Git Gui / Extensions para mí, pero sería genial tener esto integrado en Visual Studio Code como lo está en Visual Studio normal.
Caltor
2
Fusionar sucursales es una tarea del día a día para mí. Necesitamos soporte para fusionar en VSCode.
Jonathan Ramos
@JonathanRamos, hay herramientas para todo, VSCode se enfoca en tus necesidades de codificación, necesitas buscar una herramienta específica de Git si eres un usuario avanzado. Es posible que MS introduzca esta función en el futuro, pero hay otras alternativas en este momento.
Helmut Granda
Sería bueno una característica como la de Visual Studio Community
Sebastián Rojas
146

Puedes hacerlo sin usar complementos.

En la última versión de vscode que estoy usando (1.17.0), simplemente puede abrir la rama que desee (desde el menú inferior izquierdo), luego presione ctrl+shift+py escriba Git: Merge branchy luego elija la otra rama desde la que desea fusionar (para el actual)

Vahid
fuente
1
Después de seleccionar Git: Merge branch branch, ¿se confirmará automáticamente?
Jyoti Prasad Pal
@JyotiPrasadPal sí, solo necesitasgit: push/sync
Vahid
8

Encontré esta extensión para el código VS llamada Git Merger . Se suma Git: Merge froma los comandos.

Jay Culpepper
fuente