Skip to main content
  1. Learn center
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Cách sử dụng Git
  6. Cách sử dụng Git trên Dòng lệnh
  7. Giải quyết xung đột
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Giải quyết xung đột

Để tiến hành đẩy thay đổi chúng ta vừa tạo đến kho lưu trữ từ xa, chúng ta phải giải quyết xung đột theo cách thủ công. Để làm điều này, hãy thực hiện thao tác kéo để lấy tập thay đổi gần đây nhất từ kho lưu trữ từ xa.

Thực hiện lệnh git pull sau:

$ git pull origin main
  Username:
  Password:
  remote: Counting objects: 5, done.
  remote: Compressing objects: 100% (2/2), done.
  remote: Total 3 (delta 0), reused 0 (delta 0)
  Unpacking objects: 100% (3/3), done.
  From https://example.backlog.com/git/BLGGIT/tutorial.git
  * branch            main     -> FETCH_HEAD
  Auto-merging sample.txt
  CONFLICT (content): Merge conflict in sample.txt
  Automatic merge failed; fix conflicts and then commit the result.

Một tin nhắn sẽ xuất hiện cảnh báo chúng ta về xung đột hợp nhất.

Khi mở sample.txt, bạn sẽ thấy các điểm đánh dấu do Git thêm vào cho biết các xung đột trong phần tệp đó, như minh họa bên dưới.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of the remote repository
>>>>>>> 17c860612953c0f9d88f313c8dfbf7d858e02e91

Chúng ta sẽ giải quyết xung đột bằng cách chấp nhận cả hai thay đổi và xóa điểm đánh dấu.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of the remote repository

Khi chúng ta đã giải quyết xung đột và nội dung của tệp đã thay đổi, chúng ta cam kết thay đổi.

$ git add sample.txt
$ git commit -m "merge"
  [main d845b81] merge

Hiện chúng tôi đã cập nhật thay đổi mới nhất từ kho lưu trữ từ xa.

Chúng tôi có thể xác minh tính chính xác của lịch sử kho lưu trữ bằng cách sử dụng lệnh git log. Tùy chọn --graph sẽ hiển thị lịch sử nhánh ở định dạng biểu đồ và tùy chọn --online sẽ cố gắng thu gọn tin nhắn đầu ra

$ git log --graph --oneline
  *   d845b81 merge
  |\
  | * 4c01823 append description of the pull command
  * | 95f15c9 append description of the commit command
  |/
  * 3da09c1 append description of the add command
  * ac56e47 first commit

Điều này chỉ ra rằng hai lịch sử đã được hợp nhất thành công với cam kết hợp nhất mới. Bây giờ chúng ta có thể đẩy thay đổi này vào kho lưu trữ từ xa một cách an toàn mà không có bất kỳ xung đột hợp nhất nào.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life