edit trong interactive rebase dừng tại 1 commit cụ thể, cho phép bạn amend nó trước khi tiếp tục rebase.
Những gì edit làm được mà squash không:
1. Tách 1 commit thành nhiều commits:
bash
git rebase -i HEAD~3
# Đánh dấu commit cần tách là: edit abc123
# Git dừng tại abc123
git reset HEAD~ # unstage commit, giữ files
git add src/auth/
git commit -m "feat(auth): add login logic"
git add src/tests/
git commit -m "test(auth): add login tests"
git rebase --continue2. Chèn commit mới vào giữa history: dừng (edit) tại commit đứng trước vị trí cần chèn, tạo thay đổi + git commit như bình thường, rồi git rebase --continue.
3. Thay đổi nội dung file trong commit cũ (không chỉ message): dừng tại commit đó, sửa file, git add rồi git commit --amend --no-edit, tiếp tục rebase.
Cẩn thận: edit mode tạo ra commits mới với hash khác → mọi commits phía sau cũng có hash mới → cần force push.