Files
CleanArchitecture-template/base/.agent/rules/GitBranch.md

9.8 KiB

Huong Dan Dat Ten Git Branch Trong Du An

Tham khao: Git Branch Naming Conventions - Codiga


Muc Luc

  1. Nguyen Tac Chung
  2. Cau Truc Ten Branch
  3. Cac Loai Branch (Branch Types)
  4. Bang Mau Ten Branch Theo Chuc Nang
  5. Quy Tac Dat Ten (Good Practices)
  6. Mo Hinh Git Flow
  7. Vi Du Thuc Te Trong Du An
  8. Checklist Truoc Khi Tao Branch

1. Nguyen Tac Chung

Theo bai viet tu Codiga, mot quy uoc dat ten branch tot giup:

# Loi ich Mo ta
1 Truy vet tac gia Biet ai da tao branch (developer nao)
2 Lien ket voi issue tracker De dang trace branch voi task/ticket tren JIRA, Trello, GitHub Issues...
3 Hieu muc dich branch Nhanh chong biet branch la bugfix, feature, hay hotfix
4 To chuc workflow Giu cho quy trinh lam viec co trat tu va hieu qua

2. Cau Truc Ten Branch

Format chung

<type>/<ticket-id>-<short-description>

Trong do:

Thanh phan Bat buoc Mo ta Vi du
type Co Loai branch (feature, bugfix, hotfix...) feature
ticket-id Co (neu co) Ma ticket/issue tu issue tracker PROJ-1234
short-description Co Mo ta ngan 3-6 tu, phan cach bang dau - add-user-authentication

Vi du day du

feature/PROJ-1234-add-user-authentication
bugfix/PROJ-5678-fix-login-redirect
hotfix/PROJ-9012-patch-security-vulnerability

Format mo rong (co ten tac gia)

Neu team co nhieu nguoi lam chung mot ticket, them ten tac gia:

<author>/<type>/<ticket-id>-<short-description>

Vi du:

julien/feature/1234-new-dashboard
david/feature/1234-new-dashboard

Dieu nay giup phan biet ro rang code cua tung developer cho cung mot task.


3. Cac Loai Branch (Branch Types)

Branch chinh (Long-lived branches)

Branch Muc dich Duoc merge tu Ghi chu
main (hoac master) Code production, luon o trang thai stable release, hotfix Khong bao gio commit truc tiep
develop Code moi nhat cho phien ban tiep theo feature, bugfix Nhanh tich hop chinh
staging Moi truong test truoc khi len production develop Tuy chon, tuy du an

Branch tam thoi (Short-lived branches)

Prefix Muc dich Tao tu Merge vao Vi du
feature/ Tinh nang moi develop develop feature/PROJ-101-add-login-page
bugfix/ Sua loi trong qua trinh phat trien develop develop bugfix/PROJ-202-fix-null-reference
hotfix/ Sua loi khan cap tren production main main va develop hotfix/PROJ-303-fix-payment-crash
release/ Chuan bi phien ban moi develop main va develop release/v1.2.0
chore/ Cong viec bao tri, refactor, CI/CD develop develop chore/update-dependencies
docs/ Cap nhat tai lieu develop develop docs/update-api-documentation
test/ Viet test hoac cai thien test develop develop test/add-unit-tests-user-service
refactor/ Tai cau truc code, khong thay doi chuc nang develop develop refactor/clean-up-user-repository

4. Bang Mau Ten Branch Theo Chuc Nang

Authentication & Authorization

feature/PROJ-101-add-jwt-authentication
feature/PROJ-102-implement-refresh-token
feature/PROJ-103-add-role-based-access
bugfix/PROJ-104-fix-token-expiration
hotfix/PROJ-105-patch-auth-bypass

CRUD Entity

feature/PROJ-201-create-product-entity
feature/PROJ-202-add-product-api-endpoints
feature/PROJ-203-implement-product-search
bugfix/PROJ-204-fix-product-update-validation

Infrastructure & DevOps

chore/PROJ-301-setup-docker-compose
chore/PROJ-302-configure-ci-cd-pipeline
chore/PROJ-303-add-redis-caching
chore/PROJ-304-setup-logging-serilog

Database & Migration

feature/PROJ-401-add-migration-user-table
feature/PROJ-402-seed-initial-data
bugfix/PROJ-403-fix-migration-conflict

Documentation

docs/PROJ-501-update-readme
docs/PROJ-502-add-api-swagger-docs
docs/PROJ-503-create-deployment-guide

5. Quy Tac Dat Ten (Good Practices)

Nen lam

Quy tac Chi tiet Vi du
Dung ten mo ta Ten branch phai phan anh ro noi dung thay doi feature/PROJ-101-add-user-authentication
Giu ngan gon Chi 3-6 tu khoa, phan cach bang dau - bugfix/PROJ-202-fix-null-ref
Viet thuong toan bo Khong viet hoa feature/add-login
Dung dau - phan cach tu Khong dung dau cach, underscore, hoac camelCase fix-login-redirect
Bat dau bang type prefix Luon co prefix xac dinh loai branch feature/, bugfix/, hotfix/
Lien ket ticket ID Giup trace nguon goc thay doi PROJ-1234-...

Khong nen lam

Quy tac Vi du sai Vi du dung
Khong dung ky tu dac biet feature/add@user#auth feature/add-user-auth
Khong dung dau cach feature/add user auth feature/add-user-auth
Khong viet hoa Feature/Add-User-Auth feature/add-user-auth
Khong dat ten chung chung feature/new-stuff feature/PROJ-101-add-payment-gateway
Khong dat ten qua dai feature/PROJ-101-add-new-user-authentication-with-jwt-and-refresh-token-support-for-all-roles feature/PROJ-101-add-jwt-auth
Khong dung so thuong feature/123 feature/PROJ-123-add-login
Khong commit truc tiep vao main/develop Luon tao branch rieng

6. Mo Hinh Git Flow

So do tong quat

main (production)
  |
  |--- hotfix/PROJ-xxx-fix-critical-bug
  |         |
  |         v
  |    (merge vao main VA develop)
  |
  |--- release/v1.2.0
  |         |
  |         v
  |    (merge vao main VA develop)
  |
develop (integration)
  |
  |--- feature/PROJ-xxx-new-feature
  |         |
  |         v
  |    (merge vao develop qua Pull Request)
  |
  |--- bugfix/PROJ-xxx-fix-bug
  |         |
  |         v
  |    (merge vao develop qua Pull Request)
  |
  |--- chore/update-packages
          |
          v
     (merge vao develop qua Pull Request)

Quy trinh lam viec

  1. Tao branch tu develop (hoac main cho hotfix)
  2. Commit thuong xuyen voi message ro rang
  3. Push branch len remote
  4. Tao Pull Request (PR) de review code
  5. Review & Approve boi it nhat 1 thanh vien khac
  6. Merge vao branch dich (squash merge hoac merge commit)
  7. Xoa branch sau khi merge thanh cong

Lenh Git mau

# Tao branch feature moi tu develop
git checkout develop
git pull origin develop
git checkout -b feature/PROJ-101-add-login-page

# Lam viec va commit
git add .
git commit -m "feat(PROJ-101): add login page UI"

# Push len remote
git push origin feature/PROJ-101-add-login-page

# Sau khi merge PR, xoa branch local
git checkout develop
git pull origin develop
git branch -d feature/PROJ-101-add-login-page

7. Vi Du Thuc Te Trong Du An

Ap dung cho du an Clean Architecture (MyNewProjectName)

Sprint 1: Khoi tao du an

# Cau hinh co ban
chore/PROJ-001-setup-clean-architecture
chore/PROJ-002-configure-dependency-injection
chore/PROJ-003-setup-ef-core-database
chore/PROJ-004-add-serilog-logging
chore/PROJ-005-setup-docker-compose

Sprint 2: Authentication

# Tinh nang xac thuc
feature/PROJ-010-add-user-entity
feature/PROJ-011-implement-jwt-authentication
feature/PROJ-012-add-refresh-token-flow
feature/PROJ-013-implement-role-authorization
bugfix/PROJ-014-fix-token-validation-error

Sprint 3: CRUD cho SampleEntity

# Tinh nang CRUD
feature/PROJ-020-add-sample-entity-crud
feature/PROJ-021-add-pagination-support
feature/PROJ-022-implement-search-filter
bugfix/PROJ-023-fix-sample-delete-cascade

Hotfix khan cap

# Sua loi tren production
hotfix/PROJ-099-fix-sql-injection-vulnerability
hotfix/PROJ-100-patch-cors-configuration

Quy uoc Commit Message (di kem voi branch)

De dong bo voi quy uoc branch, nen dung Conventional Commits:

<type>(<scope>): <description>
Type Muc dich Vi du
feat Tinh nang moi feat(PROJ-101): add login page
fix Sua loi fix(PROJ-202): resolve null reference in UserService
chore Bao tri chore: update NuGet packages
docs Tai lieu docs: update API documentation
refactor Tai cau truc refactor: simplify UserRepository queries
test Them/sua test test: add unit tests for AuthService
style Format code style: apply editorconfig rules
ci CI/CD ci: add GitHub Actions workflow

8. Checklist Truoc Khi Tao Branch

  • Ten branch co bat dau bang type prefix khong? (feature/, bugfix/, hotfix/...)
  • Ten branch co chua ticket/issue ID khong? (PROJ-1234)
  • Mo ta co ngan gon va ro rang khong? (3-6 tu)
  • Chi dung chu thuong, so, dau - va dau /?
  • Khong co ky tu dac biet, dau cach, hoac chu viet hoa?
  • Branch duoc tao tu dung branch nguon? (develop hoac main)
  • Da pull code moi nhat tu branch nguon truoc khi tao?

Tom Tat Nhanh

Format:   <type>/<ticket-id>-<short-description>
Vi du:    feature/PROJ-101-add-user-authentication

Type:     feature | bugfix | hotfix | release | chore | docs | test | refactor
Chu y:    - Viet thuong toan bo
          - Dung dau `-` phan cach tu
          - Giu ngan gon (3-6 tu)
          - Khong ky tu dac biet
          - Lien ket ticket ID
          - Xoa branch sau khi merge