Menu
CoddyTech

Merge ba chiều

Thuộc phần Kiểm soát phiên bản trong hành trình Terminal của Coddy. Bài học 36 trên 58.

Nếu cả hai nhánh đều phát triển độc lập, Git không thể chỉ fast-forward. Thay vào đó, Git thực hiện hợp nhất ba chiều: xem xét tổ tiên chung và phần đầu của hai nhánh, rồi tạo một commit mới kết hợp chúng.

Commit mới này là commit hợp nhất. Nó có hai commit cha, mỗi nhánh đóng góp một commit:

git switch main
git merge feature -m "Merge feature"

Cờ -m cung cấp trực tiếp thông điệp commit merge, vì vậy Git không mở trình soạn thảo.

Thông thường, Git có thể tự động kết hợp các thay đổi từ cả hai nhánh, miễn là chúng nằm ở những phần khác nhau trong tệp. Xung đột chỉ xảy ra khi cả hai nhánh cùng thay đổi một dòng, đây là chủ đề của bài học tiếp theo.

challenge icon

Thử thách

Trung bình

Bạn bắt đầu trong một thư mục mới có top.txt (nội dung: a) và bottom.txt (nội dung: b).

Khởi tạo repository, tạo commit đầu tiên, sau đó:

  1. Tạo nhánh từ nhánh hiện tại thành feature và thêm dòng added vào cuối top.txt; commit.
  2. Chuyển sang main và thêm dòng added vào cuối bottom.txt; commit.
  3. Merge feature vào main với thông điệp Merge feature.

In ra số lượng commit có thể truy cập từ HEAD bằng git rev-list --count HEAD. Số lượng dự kiến là 4 (ban đầu + feature + main + merge).

Tự làm thử

Terminal
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiểm soát phiên bản

Tự luyện tập: Playground Terminal