Khi làm việc với Git, conflict thường xảy ra khi hai hoặc nhiều người cùng chỉnh sửa cùng một file và commit lên repository. Trong trường hợp này, Git không thể tự động gộp các thay đổi và bạn cần phải giải quyết conflict bằng cách thực hiện các bước sau:

Bước 1: Kiểm tra tình trạng conflict

Sử dụng lệnh git status để kiểm tra xem file nào bị conflict. Lệnh này sẽ liệt kê tất cả các file đã được chỉnh sửa nhưng chưa được commit hoặc các file bị conflict.

$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   file.txt
no changes added to commit (use "git add" and/or "git commit -a")

Trong ví dụ trên, file file.txt bị conflict và cần được giải quyết.

Bước 2: Xem thay đổi trong file bị conflict

Sử dụng lệnh git diff để xem các thay đổi trong file bị conflict. Lệnh này sẽ hiển thị các phần bị conflict và các thay đổi được thực hiện bởi các commit khác nhau.

$ git diff file.txt
diff --cc file.txt
index 1234567,89abcdef..0123456
--- a/file.txt
+++ b/file.txt
@@@ -1,3 -1,3 +1,5 @@@
  This is some text.
- There is some more text here.
++<<<<<<< HEAD
+ This is a new line added by the current commit.
++=======
+ There is some more text here.
+ This is a new line added by the other commit.
++>>>>>>> other-branch

Trong ví dụ trên, các phần bị conflict được bao bọc bởi <<<<<<< HEAD, =======>>>>>>> other-branch. Các phần trên cùng (HEAD) là thay đổi từ commit hiện tại và các phần dưới (other-branch) là thay đổi từ commit khác.

Bước 3: Chỉnh sửa file để giải quyết conflict

Mở file bị conflict và tìm các phần bị conflict. Chỉnh sửa các phần này để giải quyết conflict. Trong ví dụ trên, bạn có thể giải quyết conflict bằng cách giữ lại một số dòng và loại bỏ các phần bị conflict.

This is some text.
There is some more text here.
This is a new line added by the current commit.
There is some more text here.
This is a new

Bước 4: Commit thay đổi giải quyết conflict

Sau khi chỉnh sửa các phần bị conflict, bạn cần phải commit thay đổi để giải quyết conflict. Sử dụng lệnh git add để thêm file đã chỉnh sửa vào staging area và sau đó sử dụng lệnh git commit để tạo commit giải quyết conflict.

$ git add file.txt
$ git commit -m "Resolve conflict in file.txt"

Nếu có nhiều file bị conflict, bạn cần phải giải quyết từng file và tạo commit cho từng file.

Kết luận

Đó là cách giải quyết conflict trong Git. Khi làm việc với Git, conflict là điều không thể tránh khỏi. Tuy nhiên, bằng cách sử dụng các bước trên, bạn có thể giải quyết conflict một cách dễ dàng và hiệu quả.

4 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments