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


98

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

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

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

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

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

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


Вы уверены, что проверили везде, 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, потому что:

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

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

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


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
Вахид


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.