Khi làm việc trong team sử dụng Git, việc giữ lịch sử commit sạch sẽ không chỉ giúp dễ quản lý mà còn phản ánh rõ ràng quá trình phát triển của dự án. Một công cụ cực kỳ mạnh để đạt được điều này chính là git rebase. Bài viết này, mình sẽ hướng dẫn bạn cách dùng git rebase đúng cách, giúp giữ cho lịch sử commit gọn gàng, dễ đọc – nhất là trước khi merge vào main.
Khi làm việc trên một branch feature (ví dụ feature/login), thường thì branch main sẽ tiếp tục thay đổi bởi các thành viên khác. Nếu chỉ merge thủ công, bạn dễ rơi vào tình trạng lịch sử commit bị phân mảnh, lặp đi lặp lại các commit như “merge main into feature…”.
Dùng rebase giúp bạn:
Checkout sang branch bạn đang làm việc
git checkout feature/login
Cập nhật nhánh main mới nhất từ remote
git fetch origin
Rebase nhánh bạn đang làm trên nền của main
git rebase origin/main
Nếu trong quá trình rebase bị xung đột, Git sẽ dừng lại để bạn xử lý. Sau khi sửa xong:
git add .
git rebase --continue
Nếu muốn rebase lại lần nữa vì đã rebase trước đó hoặc muốn chỉnh commit cũ:
git rebase -i origin/main
Gộp commit bằng rebase -i
Dùng lệnh sau để mở danh sách các commit:
git rebase -i origin/main
Bạn sẽ thấy hiển thị như sau:
pick 123abc add login form
pick 456def fix typo in login
pick 789ghi add validation
# Rebase abc123..789ghi onto abc123 (3 commands)
Thay pick bằng squash hoặc s để gộp commit sau vào commit trước:
pick 123abc add login form
squash 456def fix typo in login
squash 789ghi add validation
Git sẽ yêu cầu bạn chỉnh lại nội dung commit, hãy viết lại sao cho rõ ràng:
Add login form with validation
- Fixed typo
- Added form validation
⚠️ Lưu ý: squash
commit nào là quyết định của bạn – nhưng nên đảm bảo commit cuối cùng mô tả chính xác những gì bạn đã làm
Chỉnh sửa nội dung commit cuối cùng
Sau khi squash hoặc rebase xong, nếu muốn chỉnh lại nội dung commit:
git commit --amend
Sẽ mở ra trình soạn thảo để bạn sửa lại message.
Hoặc có thể dùng command line trực tiếp
git commit --amend -m "Nội dung cân commit"
git fetch origin
git rebase -i origin/main
git rebase không khó, nhưng cần cẩn thận. Khi dùng đúng cách, nó giúp bạn:
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE