Bạn đề cập rằng bạn đang xem xét sử dụng phiên bản ngữ nghĩa, vì vậy hãy xem xét thông số phiên bản ngữ nghĩa tại http://semver.org/ :
Cho số phiên bản MAJOR.MINOR.PATCH, tăng:
- Phiên bản CHÍNH khi bạn thực hiện các thay đổi API không tương thích,
- Phiên bản MINOR khi bạn thêm chức năng theo cách tương thích ngược và
- Phiên bản PATCH khi bạn thực hiện sửa lỗi tương thích ngược.
Các nhãn bổ sung cho siêu dữ liệu trước khi phát hành và xây dựng có sẵn dưới dạng các phần mở rộng cho định dạng MAJOR.MINOR.PATCH.
và xa hơn một chút:
Phiên bản tiền phát hành CÓ THỂ được biểu thị bằng cách nối thêm dấu gạch nối và một loạt số nhận dạng được phân tách bằng dấu chấm ngay sau phiên bản vá. Mã định danh PHẢI chỉ bao gồm chữ và số gạch ngang ASCII [0-9A-Za-z-]. Định danh PHẢI KHÔNG được để trống. Số nhận dạng PHẢI KHÔNG bao gồm các số 0 đứng đầu. Các phiên bản tiền phát hành có mức độ ưu tiên thấp hơn phiên bản bình thường đi kèm. Phiên bản tiền phát hành cho biết phiên bản không ổn định và có thể không đáp ứng các yêu cầu tương thích dự định như được biểu thị bằng phiên bản bình thường được liên kết. Ví dụ: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.
Vì vậy, nếu bạn phát hành bản beta thực sự của bản phát hành 1.0, bạn nên gắn thẻ nó 1.0.0-beta
(hoặc tương tự theo thông số kỹ thuật). Nếu bạn đang đi để có nhiều phiên bản beta như bạn sửa lỗi, sau đó 1.0.0-beta.1
, 1.0.0-beta.2
vv
Khi bạn thêm các tính năng tương thích ngược, bạn nên tăng số MINOR. Nếu bạn thực hiện nhiều thay đổi nội bộ sẽ gây ra thay đổi đột phá ở nơi khác trong ứng dụng của bạn, thì đó là thay đổi CHÍNH. Nếu bạn đang thực hiện các thay đổi ít nghiêm trọng hơn (ví dụ: bạn chỉ thêm mã và không thay đổi hành vi của mã hiện tại), thì đây sẽ là một thay đổi nhỏ. Nếu bạn có một ứng dụng nặng UI và thay đổi hoàn toàn UI đó, tôi cũng sẽ nói rằng đó cũng là một thay đổi CHÍNH (UI có thể được coi là API cho người dùng cuối).
Về cách thêm chỉ số vào repo git của bạn, tôi khuyên bạn trước tiên nên tạo một 1.x
nhánh. Điều này sẽ cho phép bạn dễ dàng theo dõi mọi thứ trong phiên bản 1 trong khi cho phép tiếp tục phát triển phiên bản 2 trên bản chính. Sau đó, bạn gắn thẻ bản phát hành beta bằng một thẻ 1.0.0-beta
(hoặc -beta.1
nếu có nhiều betas). Khi bạn sửa tất cả các lỗi bạn cần sửa, hãy gắn thẻ 1.0.0
bản phát hành thực tế . Sau đó gắn thẻ mỗi bản phát hành khi cần thiết.
Bạn có thể xem một số quy trình công việc đã thử và đúng cho git như luồng git và luồng github để biết ý tưởng về cách bạn muốn thiết lập quy trình công việc đang diễn ra.
Ngoài ra, nếu bạn muốn có thêm một chút bối cảnh về phiên bản ngữ nghĩa cho các chương trình không có API, câu trả lời này sẽ đi sâu hơn.