รีสตาร์ท / เลิกทำการแก้ไขข้อขัดแย้งในไฟล์เดียว


189

ในการคอมไพล์ขนาดใหญ่ที่มีไฟล์ที่ขัดแย้งกันหลายไฟล์ฉันทำเครื่องหมายไฟล์ว่าแก้ไขไม่ถูกต้อง (ใช้git add FILEหลังจากแก้ไขบางส่วน)

ตอนนี้ฉันต้องการยกเลิกการพยายามแก้ไขข้อขัดแย้งและเริ่มแก้ไขไฟล์นั้นใหม่

ฉันจะทำสิ่งนั้นได้อย่างไร


คำตอบ:


335

พบวิธีแก้ปัญหาที่นี่: http://gitster.livejournal.com/43665.html

git checkout -m FILE

สิ่งนี้จะคืนค่าสถานะที่ไม่ได้แก้ไขรวมถึงข้อมูลทั้งหมดเกี่ยวกับพาเรนต์และผสานฐานซึ่งอนุญาตให้เริ่มการแก้ปัญหาได้ใหม่


3
+1; นี่คือทางออกที่แท้จริง :) git resetจะไม่สัมผัสไฟล์
สะกิด

4
ไม่ได้ผลสำหรับฉันไฟล์ยังคงถูกทำเครื่องหมายด้วยboth modified(ในสถานะขัดแย้ง)
Gaui

สิ่งนี้ช่วยฉันได้จริงๆเพราะมันทำให้ไฟล์กลับสู่สถานะการแก้ไขความขัดแย้งล่วงหน้า สิ่งที่น่าสนใจคือแทนที่จะรวมสองจุดที่มีชื่อว่า "หัว" และ {REVISION} ตอนนี้พวกเขาถูกเรียกว่า "ของเรา" และ "ของพวกเขา"
TGP1994

26
"ไฟล์ยังถูกทำเครื่องหมายด้วยboth modified" นั่นเป็นผลลัพธ์ที่เกิดขึ้นจริงจากคำถาม
Kevin Smyth

2
-mเช่นเดียวกับใน--merge
Kontur

0
git reset HEAD FILE

ตัวอย่าง

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)

6
เมื่อฉันทำสิ่งนี้และทำงานในgit statusภายหลังFILEแสดงขึ้นภายใต้ "การเปลี่ยนแปลงที่ไม่จัดฉากเพื่อส่งมอบ" อย่างไรก็ตามฉันคาดหวังว่ามันจะแสดงภายใต้ "เส้นทาง Unmerged" เพื่อที่ IDE ของฉันจะหยิบมันขึ้นมาอีกครั้งเพื่อรวม ...
Alex Krauss
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.