0

Git Rebase: Nghệ thuật "Viết lại Lịch sử" để Trở thành Developer Chuyên nghiệp

1. Đừng chỉ Code, hãy kể một Câu chuyện Đẹp

Trong thế giới lập trình, chúng ta không chỉ làm việc với máy tính, chúng ta làm việc với con người. Khi đồng nghiệp của bạn (hoặc chính bạn 6 tháng sau) nhìn vào lịch sử commit, họ muốn thấy một dòng thời gian mạch lạc, chứ không phải một "mớ bòng bong" những câu lệnh Merge đan xen vô tội vạ.

Đó là lúc Git Rebase xuất hiện như một người nghệ sĩ sắp đặt.

2. Rebase thực sự là gì?

Nếu git merge là việc "gộp" hai con đường lại với nhau bằng một nút giao (Merge Commit), thì git rebase lại là việc nhổ tận gốc nhánh bạn đang làm việc và đặt nó lên trên đỉnh của nhánh chính.

Thay vì tạo ra một nút thắt phức tạp, Rebase giúp lịch sử commit của bạn trở thành một đường thẳng tắp. Điều này giúp việc debug và theo dõi tiến độ dự án trở nên dễ dàng hơn bao giờ hết.

3. Tại sao Rebase lại khiến bạn "xịn" hơn?

Lịch sử sạch bóng: Không còn những commit rác kiểu "Merge branch 'main' into feature".

Dễ dàng rà soát (Code Review): Người review sẽ thấy các thay đổi của bạn nối tiếp nhau một cách logic.

Làm chủ tuyệt đối: Vớiinteractive rebase (-i), bạn có thể gộp các commit nhỏ lẻ (squash), sửa nội dung commit hoặc thậm chí là xóa bỏ những bước đi sai lầm trước khi đẩy code lên server.

4. Công thức "Vàng" để Rebase an toàn

Nhiều người sợ Rebase vì nó "thay đổi lịch sử". Đúng, nó có thể gây nguy hiểm nếu dùng sai chỗ. Hãy nhớ quy tắc sống còn này:

"Chỉ Rebase trên những nhánh cá nhân (Local Branch). Tuyệt đối KHÔNG Rebase trên những nhánh dùng chung (như main hoặc develop) khi đã push lên server."

Quy trình chuẩn chỉnh:

  1. Bạn đang ở nhánh feature-awesome.
  2. Cập nhật nhánh main mới nhất: git checkout main -> git pull.
  3. Quay lại nhánh của bạn: git checkout feature-awesome.
  4. Thực hiện phép màu: git rebase main.
  5. Giải quyết conflict (nếu có) và tận hưởng một dòng lịch sử thẳng tắp!

Lời kết: Đừng sợ sai, hãy sợ sự bừa bộn!

Học cách sử dụng Rebase không chỉ là học một câu lệnh, mà là học cách tôn trọng dự án và đồng đội của mình. Một bộ source code có lịch sử sạch sẽ phản ánh tư duy logic và sự chỉn chu của người viết ra nó.

Lần tới, thay vì gõ git merge, hãy thử can đảm dùng git rebase. Có thể bạn sẽ gặp vài Conflict khó nhằn lúc đầu, nhưng tin mình đi, cảm giác khi nhìn thấy một git log thẳng tắp và chuyên nghiệp sẽ cực kỳ xứng đáng!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí