Menu
CoddyTech

Git Branch

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

git branch là lệnh quản lý nhánh: liệt kê, tạo, xóa và đổi tên nhánh. Khi chạy riêng, nó liệt kê các nhánh local và đánh dấu nhánh hiện tại. Lưu ý rằng git branch feature chỉ tạo nhánh; để chuyển sang nhánh đó, dùng git switch hoặc git checkout.

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ì.

Nhánh chỉ là một con trỏ có thể di chuyển, trỏ tới một commit: main và feature dùng chung lịch sử cho đến khi tách ra.

Cú pháp

LệnhTác dụng
git branchLiệt kê các nhánh local
git branch -aLiệt kê nhánh local và remote
git branch featureTạo nhánh (không chuyển sang)
git branch -d featureXóa một nhánh đã merge
git branch -D featureXóa cưỡng bức một nhánh chưa merge
git branch -m newnameĐổi tên nhánh hiện tại
git branch --mergedLiệt kê các nhánh đã merge vào HEAD

Tình huống thường gặp

Mục tiêuLệnh
Xem tất cả nhánh, kể cả remotegit branch -a
Xem upstream của từng nhánhgit branch -vv
Dọn các nhánh đã mergegit branch --merged
Tạo và chuyển nhánh trong một bướcgit switch -c feature

Câu hỏi thường gặp về git branch

Làm sao để liệt kê tất cả các nhánh trong Git?
Chạy git branch để liệt kê các nhánh local, nhánh bạn đang đứng có dấu sao phía trước. Thêm -a (git branch -a) để xem cả các nhánh remote-tracking, hoặc -r để chỉ xem nhánh remote. Dùng git branch -vv để xem thêm upstream của từng nhánh và nhánh đó đang đi trước hay đi sau bao nhiêu commit.
git branch có tạo và chuyển sang nhánh mới không?
Không. git branch feature chỉ tạo nhánh, bạn vẫn đứng ở chỗ cũ. Để tạo và chuyển nhánh trong một bước, dùng git switch -c feature (hoặc cách cũ git checkout -b feature). Bản thân git branch dùng để quản lý nhánh, không phải để di chuyển giữa các nhánh.
Làm sao để xóa một nhánh?
Dùng git branch -d <name> để xóa nhánh đã được merge (nếu chưa, Git sẽ từ chối để bảo vệ các commit chưa merge), hoặc git branch -D <name> để xóa cưỡng bức bất kể thế nào. Bạn không thể xóa nhánh đang đứng: hãy chuyển sang nhánh khác trước.
Làm sao để đổi tên một nhánh?
Chạy git branch -m <newname> để đổi tên nhánh hiện tại, hoặc git branch -m <oldname> <newname> để đổi tên nhánh khác. Nếu nhánh đã được push, bạn cũng cần cập nhật nó trên remote: xem trang git rename branch.
Có thể luyện tập lệnh này online không?
Có. Mở playground terminal để chạy git branch 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 nhánh 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