Git
Last updated
Last updated
Quy trình phát triển sản phẩm thì việc quản lý mã nguồn rất quan trọng trong 1 team. Workflow của quản lý mã nguồn như sau:
Sẽ luôn luôn đi theo 1 chu kỳ khi có 1 version mới được launch ra thị trường.
Tạo issue để bàn về các vấn đề cần thảo luận và team sẽ giải quyết các vấn đề đó.
Tạo ra nhánh feature từ nhánh develop để tiến hành code. Trong quá trình code sau khi xong tính năng thì sẽ merge vào lại nhánh develop và sẽ tiếp tục các feature khác. Ở phần này cần lưu ý sẽ có review code trước khi leader merge vào nhánh develop.
Sau 1 quảng thời gian làm việc thì team sẽ bàn lại và merge hết lại nhánh develop. Sau đó sẽ review lại để trước khi merge vào nhánh main.
Khi merge vào nhánh main thì bắt buộc nhánh main và develop sẽ cùng 1 phiên bản, và sẽ tiến hành deploy. Team sẽ tạo tags và ghi release change log của version. Và cuối cùng là upload lên drive về version đang release.
Các repository sẽ bao gồm các cài đặt như Description, Topic, Website.
Những thông tin này sẽ thể hiện trên repo để tiện cho việc quản lý project.
Trong mỗi repo sẽ được chia thành 2 loại branch.
Required
main(default): Đây là nhánh chính đại diện cho phiên bản hiện tại của sản phẩm trên môi trường Live.
develop: Đây là nhánh cho lập trình viên có thể lập trình trên đây để phát triển sản phẩm.
Optional
name-feature: Đây là nhánh dùng để cho dev checkout từ nhánh develop và phát triển ở đây. Sau khi xong task thì sẽ merge lại nhánh develop. Nhánh này sẽ đặt tên theo convention như sau: type/subject.(Type xem ở phần type commit).
Format message commit: type:subject
Subject: Mô tả ngắn gọn và sự thay đổi.
Với type sẽ thuộc các dạng sau:
feature: adds a new feature (feat: add the amazing button)
fix: fixes a bug (fix: add missing parameter to service call)
refactor: review/restructure code, doesn’t change behaviour(refactor: implement calculation method as recursion)
perf: special refactor commit, improve performance(perf: Response answer user faster than)
test: add missing tests or correcting existing tests(test: add userservice test)
docs: after document only(build: update content readme file)
build: affect build components like build tool, ci pipeline, dependencies, project(build: update PayPal dependencies)
Issue là vấn đề mà team cần giải quyết trong dự án. Trước khi team bắt đầu làm 1 task thì nên ghi issue vào để biết được issue là gì và thảo luận trong đó về hướng giải quyết.
Issue có thể là: tạo page Sign-In, Sing-Up, Payment
Mỗi khi có 1 version release mới sẽ tương đương 1 tags trên git và tags này được tạo từ nhánh main. Và có tên là version của phiên bản đang release.
Version sẽ được đặt theo thông tin mà công ty đã quy định.
Hot fix là 1 trường hợp cần được xử lý trên môi trường Live thay vì Dev. Tạo 1 checkout từ nhánh main ra và đặt với tiêu đề hotfix/subject
. Sau khi hotfix xong thì sẽ merge vào cả nhánh main và nhánh dev rồi cuối cùng sẽ xóa nhánh hotfix này.
(Nico sẽ phụ trách)