Merge Conflict
Merge Conflict
Conflict nghe đáng sợ nhưng thực ra rất logic: Git chỉ đang nhờ bạn quyết định khi nó không tự chọn được.
1. Vì sao có conflict?
Conflict merge conflict xảy ra khi hai branch cùng sửa một dòng (hoặc vùng dòng) trong cùng một file theo hai cách khác nhau. Git tự gộp được phần lớn, nhưng chỗ này nó không thể tự quyết nên dừng lại và giao cho bạn.
2. Đọc và giải quyết
Git chèn markers vào file. Phần trên là branch hiện tại (HEAD), phần dưới là branch đang gộp vào:
<<<<<<< HEAD
const greeting = "Xin chao";
=======
const greeting = "Hello";
>>>>>>> feature
Bạn sửa thành nội dung đúng, xóa cả ba dòng dấu, rồi:
git add src/greeting.js # đánh dấu đã giải quyết
git merge --continue # hoàn tất merge
git merge --abort # hoặc hủy, quay về trước khi merge
Cách nhớ nhanh
Conflict = hai branch sửa cùng một chỗ. Sửa file → xóa markers → git add → git merge --continue. Rối thì git merge --abort.