Câu hỏi phỏng vấn Git
Câu hỏi

Bạn hiểu gì về git merge conflict?

Câu trả lời

Trong Git, merge conflict (xung đột khi hợp nhất) xảy ra khi hai nhánh có các thay đổi trùng lặp ở cùng một phần của một tệp, và Git không thể tự động quyết định nên giữ thay đổi nào. Điều này thường xảy ra khi hai nhánh phát triển độc lập và có các commit chỉnh sửa cùng một dòng trong một tệp, hoặc khi một nhánh xóa một tệp mà nhánh kia đã sửa đổi.

Khi xung đột xảy ra, Git sẽ đánh dấu tệp bị xung đột và ngăn việc hợp nhất hoàn tất cho đến khi xung đột được giải quyết. Các phần của tệp bị xung đột sẽ được bao quanh bởi các dấu đánh dấu xung đột, cho biết nội dung từ mỗi nhánh:

Copy
<<<<<<< HEAD
[Thay đổi từ nhánh hiện tại]
=======
[Thay đổi từ nhánh đang được hợp nhất]
>>>>>>> branch-name

Để giải quyết xung đột, bạn cần:

  1. Mở tệp bị xung đột trong một trình soạn thảo văn bản.
  2. Quyết định nên giữ thay đổi nào hoặc kết hợp chúng theo cách nào đó.
  3. Xóa các dấu đánh dấu xung đột và chỉnh sửa tệp để phản ánh cách bạn muốn kết hợp các thay đổi.
  4. Thêm tệp đã được giải quyết vào khu vực staging và hoàn tất quá trình hợp nhất bằng cách commit các thay đổi.

Các công cụ hỗ trợ giải quyết xung đột, như trình soạn thảo tích hợp trong IDE hoặc các công cụ merge chuyên dụng, có thể giúp đơn giản hóa quá trình này bằng cách cung cấp một giao diện đồ họa để so sánh và chọn lựa các thay đổi.

Việc giải quyết merge conflict là một phần quan trọng của quá trình làm việc với Git, đặc biệt là trong các dự án có nhiều người đóng góp và các nhánh phát triển song song.

senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Làm thế nào Git hoạt động?

senior

tagging trong Git là gì?

middle

Trong git, sự khác biệt giữa fork, branchclone là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào