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ì.
Cú pháp
| Lệnh | Tác dụng |
|---|---|
git branch | Liệt kê các nhánh local |
git branch -a | Liệt kê nhánh local và remote |
git branch feature | Tạo nhánh (không chuyển sang) |
git branch -d feature | Xóa một nhánh đã merge |
git branch -D feature | Xó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 --merged | Liệt kê các nhánh đã merge vào HEAD |
Tình huống thường gặp
| Mục tiêu | Lệnh |
|---|---|
| Xem tất cả nhánh, kể cả remote | git branch -a |
| Xem upstream của từng nhánh | git branch -vv |
| Dọn các nhánh đã merge | git branch --merged |
| Tạo và chuyển nhánh trong một bước | git 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?
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?
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?
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?
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?
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.