В коде Visual Studio Как объединить две локальные ветки?

98

В Visual Studio Code мне кажется, что мне разрешено только нажимать, извлекать и синхронизировать. Существует документированная поддержка конфликтов слияния, но я не могу понять, как на самом деле слить две ветки. Командная строка Git в VSC (нажмите F1) поддерживает только подмножество команд:

Параметры eGit, доступные в VSCode

Попытка извлечь из альтернативной ветки или нажать на альтернативную ветвь дает:

git Регулирование команд

Вот документация по VSCode Git Visual Studio Code Git Documentation

Что я упускаю из виду?

TheFastCat
источник
Вы уверены, что проверили везде, qv этот блог, в котором обсуждается, как объединить две ветки?
Tim Biegeleisen
5
Это Visual Studio, а не Visual Studio Code, который является отдельным приложением. Дополнительная информация: VisualStudio.com и code.visualstudio.com
TheFastCat

Ответы:

49

Обновление июнь 2017 г. (от VSCode 1.14 )

Возможность объединять локальные ветки была добавлена ​​через PR 25731 и commit 89cd05f : доступная через команду " Git: merge branch".
И PR 27405 добавил правильную обработку слияния в стиле diff3.

Вахид «s ответ Упоминание 1,17, но релиз сентября фактически не добавил ничего о слиянии.
Только октябрьская версия 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, потому что:

Будет ли эта функция случайно включена в следующую итерацию?

Скорее всего, нет, это большая работа, поскольку необходимо реализовать интерфейс слияния .

Таким образом, фактическое слияние будет инициировано только из командной строки.

VonC
источник
23
Это отстой!
Caltor
Хорошее предложение, но для меня это командная строка или Git Gui / Extensions, но было бы здорово, если бы это было встроено в код Visual Studio, как в обычной Visual Studio.
Caltor
2
Для меня объединение веток - повседневная задача. Нам нужна поддержка слияния в VSCode.
Джонатан Рамос
@JonathanRamos, инструменты есть для всего, VSCode фокусируется на ваших потребностях в коде, вам нужно искать специальный инструмент Git, если вы опытный пользователь. Возможно, MS представит эту функцию в будущем, но на данный момент есть другие альтернативы.
Гельмут Гранда
Было бы неплохо иметь функцию, подобную той, что есть в сообществе Visual Studio
Себастьян Рохас
147

Вы можете сделать это без использования плагинов.

В последней версии vscode, которую я использую (1.17.0), вы можете просто открыть нужную ветку (из нижнего левого меню), затем нажать ctrl+shift+pи ввести, Git: Merge branchа затем выбрать другую ветку, из которой вы хотите объединить (в текущий)

Вахид
источник
1
Будет ли она фиксироваться автоматически после того, как я выберу Git: Merge branch branch?
Джйоти Прасад Пал
@JyotiPrasadPal, да, вам просто нужноgit: push/sync
Вахид
8

Я нашел это расширение для кода VS под названием Git Merger . Добавляет Git: Merge fromк командам.

Джей Калпеппер
источник