Trung BìnhGit iconGit

Khi nào force push là acceptable và khi nào tuyệt đối không được phép?

Force push ACCEPTABLE:

1. Feature branch của riêng bạn, chưa ai review/pull: sau git rebase -i để clean up commits trước PR
2. Personal fork: không ảnh hưởng ai
3. Sau git commit --amend trên branch riêng: cần update remote
4. Reset --hard và force push trên branch riêng nếu bạn vô tình push nhầm (credentials, large file)

Force push KHÔNG BAO GIỜ:

1. main / master / develop — bất kỳ shared long-lived branch
2. Branch đang có open PR mà người khác đang review
3. Branch mà CI/CD đang build/deploy từ đó
4. Tag đã được release — git tags không nên bị move

Kiểm tra trước khi force push:

bash
# Ai đã pull branch này?
git log origin/feature/my-branch..feature/my-branch  # commits chỉ có local
git log feature/my-branch..origin/feature/my-branch  # commits chỉ có remote
# Nếu remote có commits bạn không có → người khác đã push → KHÔNG force push

Rule đơn giản: nếu phải hỏi "force push được không?" → không.

Chỉ force push khi chắc 100% bạn là người duy nhất dùng branch đó.

Xem toàn bộ Git cùng filter theo level & chủ đề con.

Mở danh sách Git