- master: Branch có mục đích sử dụng cho môi trường Production.
- develop: Branch có mục đich sử dụng cho môi trường Development. Các branch feature sẽ được tạo từ đây
- release: Branch có mục đích chuẩn bị môi trường cho những branch feature, fix-bug sẵn sàng lên production
-
Tạo branch từ develop
git checkout -b feature_name develop
-
Sau khi develop & UT, tạo Pull request & review assign vào branch develop
-
Tạo branch từ develop
git checkout -b release-X.X.X develop
-
(Suggestion) Tạo Changelog cho Project: Mình có 1 file bump-version.sh(file này mình tham khảo, có source trong file) giúp tự động quá trình này
sh bump-version.sh
-
Tạo Pull request & assign branch vào master
-
Merge branch release lại develop để đồng bộ quá trình bump-version or...
git checkout develop
git merge --no-ff release-X.X.X
-
Tạo branch từ master:
git checkout -b hot-fix_name master
-
Sau khi develop & UT, update version:
sh bump-version.sh
-
Tạo PR & assign review vào master
-
Merge branch hot-fix vào develop để tránh thiếu code:
git checkout develop
git merge --no-ff hot-fix_name
Source: http://nvie.com/posts/a-successful-git-branching-model/