Interactive rebase là một công cụ mạnh mẽ cho phép bạn sửa đổi và sắp xếp lại lịch sử commit, bao gồm: sắp xếp lại thứ tự commit, xóa commit, chỉnh sửa commit message, và gộp hoặc chia nhỏ commit. Việc viết lại lịch sử commit có thể hữu ích để cải thiện tính rõ ràng và tổ chức của lịch sử commit trong dự án.
Interactive rebase được truy cập bằng cách thêm cờ -i vào lệnh git rebase. Người dùng cũng phải chỉ định một chuỗi các commit cần thao tác. Thông thường, chuỗi commit được chỉ định bằng cách sử dụng ký hiệu phạm vi bắt đầu từ commit HEAD.
Trong ví dụ dưới đây, chúng ta đang nói với Git rằng chúng ta muốn sử dụng interactive rebase để sửa đổi 3 commit cuối cùng tính từ con trỏ HEAD:
git rebase -i HEAD~3
Khi cộng tác với các thành viên khác, chỉ sử dụng interactive rebase để sửa đổi các thay đổi local. Việc sửa đổi các commit đã tồn tại bên ngoài repository local của bạn có thể gây ra xung đột cho các thành viên khác.
Sau khi thực thi lệnh interactive rebase, có nhiều thao tác có sẵn. Hãy khám phá chúng:
Cập nhật commit message
Xóa commit khỏi lịch sử
Sắp xếp lại vị trí của các commit trong cây lịch sử
Interactive rebase cung cấp cho bạn khả năng kiểm soát hoàn toàn lịch sử commit của dự án. Với các thao tác như reword, delete, reorder, squash và split, bạn có thể tạo ra một lịch sử commit rõ ràng, có tổ chức và dễ hiểu hơn.
Tuy nhiên, hãy nhớ rằng việc viết lại lịch sử chỉ nên được thực hiện trên các commit local chưa được chia sẻ. Các bài học tiếp theo sẽ hướng dẫn chi tiết cách sử dụng từng thao tác này.
Tiếp theo: Thay đổi commit message