Giao diện
1. Tạo & Chuyển Branch (Management)
IMPORTANT
GOAL: Hiểu cách phân nhánh để làm việc song song mà không ảnh hưởng đến code chính (First Rule of Teamwork).
1.1 Tại sao cần Branch?
Hãy tưởng tượng Main Branch là phiên bản sản phẩm đang chạy ổn định cho khách hàng. Bạn không thể viết tính năng mới trực tiếp trên đó. Nếu code lỗi, sản phẩm sập.
-> Giải pháp: Tạo một Branch (nhánh) riêng, copy toàn bộ code hiện tại sang đó, và thoải mái đập đi xây lại.
1.2 Các lệnh cơ bản
Tạo Branch mới
Cách cũ (vẫn dùng nhiều):
bash
git checkout -b feature/login-pageCách mới (Modern Git, khuyên dùng):
bash
git switch -c feature/login-page(Option -c nghĩa là Create).
Chuyển đổi giữa các Branch
bash
git switch main
# Quay lại nhánh chính
git switch feature/login-page
# Quay lại nhánh tính năngTIP
Tại sao nên dùng git switch? Vì lệnh checkout quá đa năng (vừa chuyển branch, vừa restore file), dễ gây nhầm lẫn. switch chỉ làm một việc duy nhất: chuyển branch. An toàn hơn.
1.3 Naming Convention (Quy tắc đặt tên)
Đừng đặt tên branch là test, abc, fix1. Hãy chuyên nghiệp.
HPN Standard Format:<type>/<short-description>
| Type | Sử dụng khi nào? | Ví dụ |
|---|---|---|
| feature/ | Phát triển tính năng mới | feature/payment-gateway, feature/dark-mode |
| bugfix/ | Sửa lỗi không gấp | bugfix/header-alignment, bugfix/login-error |
| hotfix/ | Sửa lỗi chí mạng (Live) | hotfix/crash-on-ios, hotfix/security-patch-v1 |
| chore/ | Cấu hình, nâng cấp lib | chore/upgrade-react-19 |
HPN's Pro Tip:
"Tên branch là tài liệu sống. Nhìn tên
bugfix/cart-calculationlà biết ngay đồng nghiệp đang sửa cái gì mà không cần hỏi."
🧠 Quiz
Câu 1: Tại sao nên dùng git switch thay vì git checkout để chuyển branch?
- [ ] A) Vì
git checkoutđã bị loại bỏ trong Git mới - [x] B) Vì
git switchchỉ làm một việc (chuyển branch), tránh nhầm lẫn với restore file - [ ] C) Vì
git switchnhanh hơngit checkout - [ ] D) Vì
git checkoutkhông hoạt động với remote branch
💡 Giải thích:
git checkoutquá đa năng (vừa chuyển branch, vừa restore file, vừa detach HEAD), dễ gây nhầm lẫn.git switchđược tạo ra từ Git 2.23 với mục đích duy nhất: chuyển branch. Nguyên tắc Single Responsibility.
Câu 2: Naming convention chuẩn cho branch name theo format nào?
- [ ] A)
name-date-description(vd:john-0601-fix) - [x] B)
<type>/<short-description>(vd:feature/payment-gateway) - [ ] C)
description_type_number(vd:fix_bug_001) - [ ] D) Không có convention, đặt tên tùy ý
💡 Giải thích: Format chuẩn Enterprise là
<type>/<short-description>với các type nhưfeature/,bugfix/,hotfix/,chore/. Tên branch là tài liệu sống - nhìn tên là biết đồng nghiệp đang làm gì.
Câu 3: Lệnh nào tạo branch mới VÀ chuyển sang branch đó ngay lập tức?
- [ ] A)
git branch new-feature - [x] B)
git switch -c new-feature - [ ] C)
git push origin new-feature - [ ] D)
git merge new-feature
💡 Giải thích:
git switch -c <branch-name>(hoặcgit checkout -b) tạo branch mới và chuyển sang ngay.git branchchỉ tạo branch mà không chuyển sang.