Visual Studio Code จะแก้ไขความขัดแย้งในการผสานกับ git ได้อย่างไร?


112

ฉันพยายามรวมสาขาของฉันกับสาขาอื่นและเกิดความขัดแย้งในการรวม ใน Visual Studio Code (เวอร์ชัน 1.2.1) ฉันได้แก้ไขปัญหาทั้งหมดอย่างไรก็ตามเมื่อฉันพยายามที่จะยอมรับมันยังคงให้ข้อความนี้กับฉัน:

ก่อนอื่นคุณควรแก้ไขการเปลี่ยนแปลงที่ไม่ได้รวมเข้าด้วยกันก่อนที่จะดำเนินการเปลี่ยนแปลงของคุณ

ฉันได้ลองใช้ googling แล้ว แต่หาคำตอบไม่ได้ว่าทำไมถึงไม่ยอมให้ฉันทำการเปลี่ยนแปลงความขัดแย้งทั้งหมดก็หายไป


1
แม้ว่าสิ่งที่คุณพูดจะถูกต้อง แต่ก็ไม่ได้ช่วยแก้ปัญหาในคำถาม ฉันได้กล่าวอย่างชัดเจนว่าฉันได้แก้ไขข้อขัดแย้งในการผสานทั้งหมดในคำถามแล้ว
annedroiid

คำตอบ:


116

ด้วย VSCode คุณสามารถค้นหาความขัดแย้งในการผสานได้อย่างง่ายดายด้วย UI ต่อไปนี้ ป้อนคำอธิบายภาพที่นี่

(หากคุณไม่มีแถบด้านบนให้ตั้งค่า"editor.codeLens": trueใน User Preferences)

เป็นการระบุการเปลี่ยนแปลงปัจจุบันที่คุณมีและการเปลี่ยนแปลงที่เข้ามาจากเซิร์ฟเวอร์ นี้จะทำให้มันง่ายที่จะแก้ปัญหาความขัดแย้ง - <<<< HEADเพียงแค่กดปุ่มดังกล่าวข้างต้น

หากคุณมีการเปลี่ยนแปลงหลายรายการและต้องการใช้การเปลี่ยนแปลงทั้งหมดพร้อมกัน - เปิดจานคำสั่ง (View -> Command Palette) และเริ่มพิมพ์ผสาน - ตัวเลือกต่างๆจะปรากฏขึ้นรวมถึงMerge Conflict: Accept Incomingฯลฯ


1
คุณได้รับการอัปเดตล่าสุดหรือไม่! ฉันจะแสดงในแต่ละบรรทัด
Sajeetharan


1
วิธีรับการผสานเหล่านี้แก้ไขตัวเลือกความขัดแย้งในโค้ด Visual Studio
user630209

1
วิธีเปิดใช้งานทางลัดใด ๆ ฉันไม่เห็นตัวเลือกนั้นในไฟล์ความขัดแย้งของฉัน
user630209

1
@RyeGuy ตัวเลือกเหล่านั้นแสดงผ่าน CodeLens ดังนั้นคุณจึงต้องเปิดใช้งานCodeLens (ดูcode.visualstudio.com/Docs/editor/… )
Geri Borbás

80

หลังจากลองผิดลองถูกฉันพบว่าคุณต้องจัดลำดับไฟล์ที่มีข้อขัดแย้งในการผสานจากนั้นคุณสามารถทำการผสานได้


1
ใช่ถูกต้อง. การกระทำใด ๆ ไม่ว่าจะเป็นการรวมความขัดแย้งหรือข้อผูกพันในพื้นที่ของคุณที่คุณพยายามผลักดันจะต้องมีการจัดฉากก่อนที่คุณจะสามารถผลักดันการกระทำนั้นได้
surendrapanday

1
สำหรับผู้ที่สับสนหากgit add .ไม่จัดสเตจไฟล์ทั้งหมดให้ตรวจสอบว่าคุณอยู่ในไดเรกทอรีรากของโครงการหรือไม่ เอาฉันมาคิดออกบ้าง จากนั้นgit add .เพื่อจัดลำดับไฟล์ทั้งหมดจากนั้นก็อนุญาตให้ฉันgit merge --continue
bensadiku

และหลังจากแก้ไขข้อขัดแย้งในการผสานก่อนอื่นคุณต้องบันทึกไฟล์ที่ขัดแย้งก่อนที่จะจัดเตรียมการเปลี่ยนแปลงที่ผสาน
nclark

22

สำหรับผู้ที่มีปัญหาในการค้นหา "ปุ่มผสาน"

ไอคอนหลอดไฟเล็ก ๆ พร้อมตัวเลือกการรวมจะปรากฏขึ้นก็ต่อเมื่อคุณคลิกที่ "ผสานเครื่องหมายความขัดแย้ง" อย่างแม่นยำ

<<<<<<<

ขั้นตอน (ใน VS Code 1.29.x):


21
  1. คลิกปุ่ม "Source Control" ทางด้านซ้าย
  2. ดูการเปลี่ยนแปลงการผสานในแถบด้านข้าง
  3. ไฟล์เหล่านั้นมีความขัดแย้งในการผสาน

VS Code> Source Control> ผสานการเปลี่ยนแปลง (ตัวอย่าง)


1
ฉันเคยมีตัวเลือก "ยอมรับการเปลี่ยนแปลงปัจจุบัน | ยอมรับการเปลี่ยนแปลงที่เข้ามา ... " แต่ตอนนี้ตัวเลือกเหล่านี้หายไปจากบรรทัดแล้วมีความคิดอย่างไรที่จะเปิดเผยตัวเลือกนี้อีกครั้ง
jet_choong

15

ข้อความแสดงข้อผิดพลาดที่คุณได้รับเป็นผลมาจาก Git ที่ยังคงคิดว่าคุณยังไม่ได้แก้ไขข้อขัดแย้งในการผสาน อันที่จริงคุณมีอยู่แล้ว แต่คุณต้องบอก Git ว่าคุณได้ทำสิ่งนี้แล้วโดยการเพิ่มไฟล์ที่แก้ไขแล้วลงในดัชนี

สิ่งนี้มีผลข้างเคียงที่คุณสามารถเพิ่มไฟล์ได้โดยไม่ต้องแก้ไขข้อขัดแย้งและ Git ก็ยังคิดว่าคุณมี ดังนั้นคุณควรขยันหมั่นเพียรเพื่อให้แน่ใจว่าคุณได้แก้ไขความขัดแย้งแล้วจริงๆ คุณยังสามารถรันบิลด์และทดสอบโค้ดก่อนที่จะคอมมิต


4

สำหรับ VS Code 1.38 หรือหากคุณไม่พบปุ่ม "หลอดไฟ" ใส่ใจกับข้อความที่เป็นสีเทาเหนือความขัดแย้ง มีรายการการดำเนินการที่คุณสามารถทำได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.