Hướng Dẫn Quy Tắc Sử Dụng Git Trong Unity Project
1. Quy tắc đặt tên Branch
Việc đặt tên branch có hệ thống giúp quản lý dễ dàng hơn và tránh nhầm lẫn trong quá trình phát triển. Dưới đây là quy tắc đặt tên branch áp dụng cho dự án Unity:
1.1. Các loại branch chính
- main: Chứa phiên bản ổn định của dự án, chỉ merge code đã kiểm thử kỹ lưỡng.
- develop: Nhánh chính để phát triển, nơi tập hợp các tính năng trước khi merge vào
main
. - [user]/feature/: Dành cho các tính năng mới.
- [user]/bugfix/: Dành cho các sửa lỗi.
- [user]/hotfix/: Sửa lỗi khẩn cấp trên
main
.
1.2. Cách đặt tên branch
Khi dự án có nhiều thành viên, mỗi người nên có namespace riêng để dễ dàng xác định ai đang làm việc trên nhánh nào.
Cấu trúc chung:
[tên-thành-viên]/[loại-branch]/[mô-tả-ngắn-gọn]
Ví dụ:
hainv/feature/weapon-system
hainv/bugfix/fix-ui-button
hainv/hotfix/crash-loading-screen
Việc sử dụng tên thành viên giúp dễ dàng theo dõi ai chịu trách nhiệm cho từng nhánh và tránh trùng lặp tên branch.
2. Quy tắc Commit
Commit nên rõ ràng, ngắn gọn và có ý nghĩa để dễ theo dõi lịch sử thay đổi.
Chỉ commit những file mà mình thay đổi
2.1. Cấu trúc commit message
[Loại commit]: [Mô tả ngắn gọn]
[Giải thích chi tiết (nếu cần)]
Loại commit phổ biến:
feat
: Thêm tính năng mớifix
: Sửa lỗirefactor
: Cải tiến code không làm thay đổi tính năngdocs
: Cập nhật tài liệustyle
: Thay đổi không ảnh hưởng logic (format, tab, dấu cách)
Ví dụ:
feat: Thêm hệ thống quản lý vũ khí
- Thêm cơ chế trang bị vũ khí
- Thêm animation thay đổi vũ khí
fix: Sửa lỗi nhân vật không thể nhảy khi đang chạy
- Cập nhật input system
- Điều chỉnh logic kiểm tra trạng thái nhân vật
3. Merge Flow
Việc merge code cần tuân theo một quy trình nhất định để tránh lỗi và đảm bảo tính ổn định.
3.1. Quy trình Merge
- Tạo branch mới từ
develop
hoặcmain
trong trường hợp hotfix. - Commit & Push: Sau khi hoàn thành công việc, commit code và push lên remote repository.
- Tạo Pull Request (PR): Yêu cầu merge vào
develop
hoặcmain
. - Code Review: Thành viên nhóm kiểm tra code và đưa ra phản hồi.
- Fix review (nếu có): Chỉnh sửa theo góp ý.
- Merge: Gộp commit nếu cần trước khi merge vào nhánh chính.
- Xóa branch (sau 3 bản release, branch của thành viên nào thì thành viên đó sẽ chịu trách nhiệm xoá branch của mình).
3.2. Các quy tắc khi Merge
- Chỉ merge vào
main
từdevelop
hoặchotfix/*
. - Các tính năng mới nên merge vào
develop
trước khi lênmain
. - Không merge trực tiếp vào
main
. - Luôn đảm bảo code đã được test kỹ trước khi merge.
4. Lưu ý Khi Dùng Git Trong Unity
- Sử dụng
.gitignore
: Yêu cầu file.gitignore
có các mục nhưLibrary/
,Temp/
,Logs/
,*.csproj
,*.unitypackage
,*.sln
,*.userprefs
để tránh đẩy file không cần thiết lên repository. - Tránh merge conflict: Luôn pull bản mới nhất trước khi làm việc để tránh xung đột.
- Commit thường xuyên: Giúp theo dõi tiến trình dễ dàng và giảm thiểu mất mát dữ liệu.
Tài liệu này giúp chuẩn hóa quy trình làm việc với Git trong dự án Unity, giúp nhóm làm việc hiệu quả và giảm thiểu lỗi khi quản lý mã nguồn.