HocTotGit.io

Git nâng cao (Advanced)
  • Lý thuyết về rebase
  • Thực hiện Rebase
  • Giải quyết conflict khi rebase
  • Rebase vs Merge
  • Quiz
  • Rebase interactive
  • Thay đổi commit message
  • Xóa commit
  • Sắp xếp lại commit
  • Squash commit
  • Chia nhỏ commit
  • Quiz
Liên kết
Blog
Hỗ trợ

Email: work.lamsun@gmail.com

Yêu thích nền tảng

Hãy chia sẻ ý kiến của bạn

HocTotGit.io

© 2026 HocTotGit.

Rebase interactive

1. Tổng quan

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.


2. Quy trình sử dụng

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
Lưu ý quan trọng:

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.


3. Các thao tác Rebase có sẵn

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:

Reword

Cập nhật commit message

Delete

Xóa commit khỏi lịch sử

Reorder

Sắp xếp lại vị trí của các commit trong cây lịch sử

Squash

Gộp nhiều commit thành một commit

Split

Tách một commit đơn lẻ thành nhiều commit


Tổng kết

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