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

Sự khác biệt giữa git mergegit rebase là gì?

Câu trả lời

Trong Git, mergerebase là hai lệnh được sử dụng để tích hợp các thay đổi từ một nhánh (branch) vào một nhánh khác, nhưng chúng hoạt động theo những cách khác nhau và có những ảnh hưởng khác nhau đến lịch sử commit của dự án.

Git Merge

  • Hợp nhất: merge kết hợp lịch sử của hai nhánh bằng cách tạo một commit mới, gọi là "merge commit", mà có hai cha là các commit cuối cùng của hai nhánh đang được hợp nhất.
  • Lịch sử không tuyến tính: Kết quả của merge là một lịch sử không tuyến tính (non-linear history) với các nhánh và merge commit rõ ràng, giúp lưu giữ thông tin về thời điểm và ngữ cảnh mà các nhánh được tích hợp.
  • Không làm thay đổi lịch sử: merge giữ nguyên lịch sử commit của cả hai nhánh, không làm thay đổi các commit đã tồn tại.

Git Rebase

  • Đặt lại cơ sở: rebase di chuyển toàn bộ hoặc một phần của lịch sử commit của một nhánh lên đầu nhánh khác. Nói cách khác, rebase thay đổi cơ sở của nhánh hiện tại sang commit mới nhất của nhánh mà bạn muốn rebase vào.
  • Lịch sử tuyến tính: Kết quả của rebase là một lịch sử tuyến tính (linear history) mà trông như thể tất cả các thay đổi đều được thực hiện theo thứ tự, một sau một, mà không có các nhánh phức tạp.
  • *...
middle

middle

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

senior

Đối tượng commit trong Git chứa những thông tin gì?

senior

Chức năng của lệnh git ls-tree để làm gì?

middle

git rebase trong git để làm gì?

Bình luận

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

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