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.
Thử thách
Trung bìnhBạ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 đó:
- Tạo nhánh từ nhánh hiện tại thành
featurevà thêm dòngaddedvào cuốitop.txt; commit. - Chuyển sang
mainvà thêm dòngaddedvào cuốibottom.txt; commit. - Merge
featurevàomainvới thông điệpMerge 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ử
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
4Kiểm tra các thay đổi
Git DiffSo sánh các thay đổi đã đưa vào vùng chờGit ShowÔn tập: Công việc của thám tử3Theo dõi thay đổi
Khu vực stagingGit AddGit CommitChỉnh sửa tệp đã được theo dõiGit LogÔn tập: các commit đầu tiên6Dự án trang web công thức
Tổng quan dự ánKhởi tạo và bỏ quaTự luyện tập: Playground Terminal