Menu
CoddyTech

Git: Xóa một nhánh remote

Cập nhật lần cuối

Xóa nhánh ở local không xóa nó khỏi remote, đó là một bước riêng. Để xóa một nhánh trên remote (như GitHub), chạy git push origin --delete <branch>. Sau đó, các bản clone khác có thể vẫn hiện nhánh này cho đến khi chúng dọn (prune) các tham chiếu remote-tracking đã cũ.

Thử các lệnh này trong playground terminal: một shell thật ngay trên trình duyệt, không cần cài đặt gì.

git push origin --delete xóa nhánh trên remote; các nhánh cục bộ của bạn không bị ảnh hưởng.

Cú pháp

LệnhTác dụng
git push origin --delete featureXóa feature trên remote
git push origin :featureCú pháp dấu hai chấm kiểu cũ, cùng tác dụng
git branch -d featureXóa luôn nhánh ở local
git fetch --pruneDọn các nhánh remote-tracking đã cũ

Dọn dẹp toàn bộ

Xóa nhánh ở mọi nơi và dọn các ref đã cũ.

BướcLệnhKết quả
1git push origin --delete featureĐã xóa khỏi remote
2git branch -d featureĐã xóa ở local
3git fetch --pruneXóa ref theo dõi origin/feature

Câu hỏi thường gặp về xóa nhánh remote

Làm sao để xóa một nhánh remote trong Git?
Chạy git push origin --delete <branch>. Lệnh này xóa nhánh khỏi remote (ví dụ GitHub). Cách cũ tương đương là git push origin :<branch>. Xóa nhánh remote không xóa bản sao local của bạn; việc đó làm riêng bằng git branch -d <branch>.
Xóa nhánh local có xóa luôn nhánh remote không?
Không. git branch -d chỉ xóa nhánh khỏi repository local của bạn. Nhánh vẫn còn trên remote cho đến khi bạn xóa nó một cách rõ ràng bằng git push origin --delete <branch>. Hai việc này độc lập với nhau.
Vì sao nhánh đã xóa vẫn còn hiện ra?
Các bản clone khác giữ các tham chiếu remote-tracking (như origin/feature) cho đến khi chúng được dọn. Chạy git fetch --prune (hoặc git remote prune origin) để xóa tham chiếu tới những nhánh không còn trên remote.
--delete và cú pháp dấu hai chấm khác nhau thế nào?
Chúng làm cùng một việc. git push origin --delete <branch> là dạng hiện đại, dễ hiểu hơn; git push origin :<branch> là cú pháp cũ (push "không có gì" lên nhánh remote, tức là xóa nó). Hãy dùng --delete cho dễ đọc.
Có thể luyện tập lệnh này online không?

Có. Mở playground terminal để chạy các lệnh này trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn làm việc với remote từng bước.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Git cùng Coddy

Bắt đầu