Trong mã Visual Studio Làm cách nào để hợp nhất giữa hai nhánh cục bộ?


97

Trong Visual Studio Code, có vẻ như tôi chỉ được phép đẩy, kéo và đồng bộ hóa. Có tài liệu hỗ trợ cho các xung đột hợp nhất nhưng tôi không thể tìm ra cách thực sự hợp nhất giữa hai nhánh. Dòng lệnh Git trong VSC (nhấn F1) chỉ tạo một tập hợp con các lệnh:

Các tùy chọn eGit có sẵn trong VSCode

Cố gắng kéo từ một nhánh thay thế hoặc đẩy sang một nhánh thay thế mang lại:

git Điều chỉnh lệnh

Đây là tài liệu về Git Visual Studio Code Git Documentation của VSCode

Tôi đang nhìn gì đây?


Bạn có chắc bạn đã kiểm tra khắp nơi, qv blog này thảo luận về cách hợp nhất hai chi nhánh?
Tim Biegeleisen,

5
Đó là Visual Studio chứ không phải Visual Studio Code là một ứng dụng hoàn toàn riêng biệt. Thông tin thêm: VisualStudio.com và code.visualstudio.com
TheFastCat

Câu trả lời:


48

Cập nhật tháng 6 năm 2017 (từ VSCode 1.14 )

Khả năng hợp nhất các nhánh cục bộ đã được thêm vào thông qua PR 25731 và cam kết 89cd05f : có thể truy cập thông qua Git: merge branchlệnh "".
PR 27405 đã thêm xử lý hợp nhất kiểu diff3 một cách chính xác.

Câu trả lời của Vahid đề cập đến 1.17, nhưng bản phát hành tháng 9 đó thực sự không thêm gì liên quan đến hợp nhất.
Chỉ ngày 1.18 tháng 10 mới thêm các điểm đánh dấu xung đột Git

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

Từ 1.18, với sự kết hợp của lệnh hợp nhất (1.14) đánh dấu hợp nhất (1.18), bạn thực sự có thể thực hiện hợp nhất cục bộ giữa các nhánh.


Câu trả lời gốc 2016:

Tài liệu Kiểm soát Phiên bản không đề cập đến các lệnh hợp nhất, chỉ hỗ trợ trạng thái hợp nhất và xung đột.

Ngay cả bản phát hành mới nhất ngày 1.3 tháng 6 cũng không mang lại điều gì mới mẻ cho mặt trận VCS.

Điều này được hỗ trợ bởi sự cố 5770 , xác nhận rằng bạn không thể sử dụng VS Code làm git mergetool, bởi vì:

Tính năng này có được đưa vào lần lặp tiếp theo không, có tình cờ không?

Có lẽ là không, đây là một nỗ lực lớn, vì giao diện người dùng hợp nhất cần được triển khai .

Điều đó khiến quá trình hợp nhất thực tế chỉ được bắt đầu từ dòng lệnh.


22
Chà, thật tệ!
Caltor

Đề xuất tốt nhưng đó là dòng lệnh hoặc Git Gui / Extensions đối với tôi, nhưng sẽ rất tuyệt nếu nó được tích hợp vào Visual Studio Code như trong Visual Studio thông thường.
Caltor

2
Hợp nhất các chi nhánh là nhiệm vụ hàng ngày đối với tôi. Chúng tôi cần hỗ trợ để hợp nhất trong VSCode.
Jonathan Ramos

@JonathanRamos, Có các công cụ cho mọi thứ, VSCode tập trung vào nhu cầu của bạn để viết mã, bạn cần tìm một công cụ cụ thể của Git nếu bạn là người dùng thành thạo. Có thể MS sẽ giới thiệu tính năng này trong tương lai nhưng hiện tại đã có những lựa chọn thay thế khác.
Helmut Granda

Sẽ là một tính năng tuyệt vời như một trong Visual Studio Cộng đồng
Sebastián Rojas

146

Bạn có thể làm điều đó mà không cần sử dụng plugin.

Trong phiên bản vscode mới nhất mà tôi đang sử dụng (1.17.0), bạn chỉ cần mở nhánh mà bạn muốn (từ menu dưới cùng bên trái), sau đó nhấn ctrl+shift+pvà nhập Git: Merge branchrồi chọn nhánh khác mà bạn muốn hợp nhất (thành cái hiện tại)


1
Sau khi tôi chọn Git: Merge branch, nó có tự động commit không?
Jyoti Prasad Pal

@JyotiPrasadPal vâng bạn chỉ cần làm vậygit: push/sync
Vahid


8

Tôi đã tìm thấy tiện ích mở rộng này cho mã VS được gọi là Git Merger . Nó thêm Git: Merge fromvào các lệnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.