Đừng Để Lịch Sử Git Biến Thành Ác Mộng – Học Ngay Cách Rebase Thần Sầu!

0 0 0

Người đăng: NamBK

Theo Viblo Asia

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. Screenshot 2025-05-30 at 15.05.41.png

1. Vì sao cần git rebase?

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:

  • Luôn cập nhật branch của bạn trên nền mới nhất của main.
  • Gộp lại các commit lặt vặt (fix bug, sửa chính tả, v.v...) thành một commit ý nghĩa.
  • Lịch sử dễ đọc, dễ review hơn khi tạo pull request.

2. Hướng dẫn rebase đúng cách

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"

3. Lưu ý “nghệ thuật” commit sạch

  • Mỗi commit nên là một đơn vị logic: “thêm tính năng A”, “sửa lỗi B”, không phải “lỡ tay quên dòng này”.
  • Tránh để quá nhiều commit nhỏ kiểu “fix typo”, “sửa bug”, “chỉnh lại tên biến”.
  • Dùng rebase -i để gom nhóm các commit có liên quan.
  • Trước khi tạo PR, luôn chạy:
git fetch origin
git rebase -i origin/main

4. Tổng kết

git rebase không khó, nhưng cần cẩn thận. Khi dùng đúng cách, nó giúp bạn:

  • Có lịch sử commit sạch sẽ, dễ đọc.
  • Dễ dàng làm việc nhóm, review code.
  • Giữ cho main branch ổn định và rõ ràng.

Hãy coi việc làm sạch commit là một phần của “clean code”. Mã đẹp là tốt, nhưng lịch sử commit đẹp còn giúp cả team cùng làm tốt hơn

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cách sử dụng Git Reset to HEAD

Khi làm việc trong một dự án có nhiều thành viên,việc các thành viên trong nhóm có thể tạo branchs,thêm, sửa và xóa files trong dự án. Sau đó thực hiện commits lên git khi hoàn thành code.

0 0 43

- vừa được xem lúc

[DEVOPS] [GIT] GIT dễ như ăn kẹo.

Xin chào các mọi người. Trong bài viết này mình sẽ làm về GIT.

0 0 36

- vừa được xem lúc

[Phần 1]Thực hành - Tổng quan về Git và những câu lệnh cơ bản

Xin chào mọi người, chúc mọi người một ngày làm việc vui vẻ. và phần 2: https://viblo.

0 0 47

- vừa được xem lúc

[GIT] Làm việc với Git như một Senior

Khai niệm. . Git được hiểu đơn giản là một Version quản lý source-code. Hiện tại git được sử dụng rộng rãi trong quy trình phát triển phần mềm.

0 0 38

- vừa được xem lúc

git reflog - Phao cứu sinh những lỗi lầm hay gặp trên Git

Chào các bạn, lại là mình - Hữu Ngọc Tiên Sinh đây. Chắc hẳn Git đã trở thành một công cụ rất rất quen thuộc đối với các bạn rồi phải không, vậy có thể trong quá trình làm việc với Git, bạn đã từng gặ

0 0 28

- vừa được xem lúc

Chốt sổ MayFest bằng cách Git CheatSheet

Git, phần mềm quản lý mã nguồn phân tán được phát triển bởi Linus Torvalds vào năm 2005 (Wikipedia viết thế), một công cụ quen thuộc đến nỗi "không một lập trình viên nào không biết" về nó. Vậy Git có

0 0 25