Git rebase là một công cụ rất mạnh trong việc quản lý phiên bản của Git. Điều này cho phép bạn điều chỉnh lịch sử commit của một nhánh, từ đó làm cho lịch sử commit trở nên dễ quản lý và gọn gàng hơn. Trong quá trình rebase, bạn có khả năng di chuyển, chỉnh sửa và thậm chí kết hợp các commit lại với nhau. Dưới đây là một hướng dẫn từ cơ bản tới nâng cao về cách sử dụng git rebase:
Lưu ý quan trọng: Khi thực hiện rebase, bạn đang thay đổi lịch sử commit của nhánh. Nếu bạn đã chia sẻ nhánh này với người khác hoặc đang làm việc nhóm, hãy cẩn trọng và thảo luận trước khi thực hiện rebase.
1. Chuẩn bị trước khi rebase:
- Đảm bảo bạn đang ở trong trạng thái làm việc sạch sẽ và không có thay đổi chưa commit.
- Hãy đảm bảo rằng bạn đang đứng trên nhánh mà bạn muốn thực hiện rebase.
2. Thực hiện rebase:
- Mở terminal hoặc command prompt và đi vào thư mục của dự án.
- Chạy lệnh sau để bắt đầu quá trình rebase:
Ở đây <target-branch> là nhánh mà bạn muốn rebase lên (thường là master hoặc một nhánh chính khác).
3. Xử lý xung đột (nếu có):
- Trong lúc rebase, có thể xảy ra xung đột giữa các commit. Git sẽ tạm dừng và báo cho bạn về những xung đột này.
- Sử dụng git status để kiểm tra danh sách các tệp gây xung đột.
- Mở các tệp gây xung đột bằng trình soạn thảo và giải quyết xung đột. Sau khi đã sửa xong, sử dụng git add <file> để đánh dấu rằng xung đột đã được giải quyết cho từng tệp.
4. Tiếp tục quá trình rebase:
Khi bạn đã giải quyết xong tất cả xung đột, tiếp tục rebase bằng lệnh:
5. Bỏ qua commit (tuỳ chọn):
Trong quá trình rebase, bạn có thể bỏ qua một số commit nếu chúng không còn cần thiết hoặc gây rối. Để làm điều này, sử dụng lệnh:
Trong đó <number> là số lượng commit bạn muốn bỏ qua. Sau khi chọn commit để bỏ qua, lưu và thoát khỏi trình soạn thảo. Git sẽ hoàn tất rebase mà không bao gồm các commit đã chọn.
6. Hoàn thành rebase:
- Khi bạn đã hoàn tất việc giải quyết xung đột và chỉnh sửa lịch sử commit, rebase sẽ hoàn tất.
- Kiểm tra lịch sử commit bằng git log để đảm bảo rebase đã được thực hiện theo mong muốn.
7. Đẩy lịch sử commit sau rebase (tuỳ chọn):
Nếu bạn đã rebase trên một nhánh chia sẻ (remote branch), bạn cần đẩy lịch sử commit mới lên remote bằng lệnh:
Lưu ý rằng việc sử dụng –force có thể thay đổi lịch sử commit trên nhánh remote, vì vậy hãy cẩn thận khi sử dụng.
Hãy luôn kiểm tra tài liệu và thảo luận với đồng đội trước khi sử dụng rebase, đặc biệt khi áp dụng trên các nhánh chia sẻ.
Ví dụ:
Trước khi rebase:
1. Trước khi rebase thì cần commit những file đã chỉnh sửa
2. Thực hiện rabase với nhánh master
3. Kiểm tra có xung đột và sửa (nếu có). Dùng git status và IDE để sửa xung đột
4. Sau khi sửa xong kiểm tra lại, git add phần đã sửa xong
5. Để tiếp tục quá trình rebase, sử dụng git rebase –continue
6. Kiểm tra lịch sử commit
7. Cuối cùng, push commit lên nhánh của bạn
Git sau khi rebase
Tìm hiểu thông tin khoá học CodeGym Huế: TẠI ĐÂY
0 Lời bình