Có vẻ như rõ ràng để nói, nhưng: mục đích số phiên bản là để cho phép bạn dễ dàng xác định phiên bản phần mềm mà bất kỳ ai đang chạy.
Nếu có bất kỳ ai có quyền truy cập vào một lần lặp mã cụ thể và không dễ dàng xác định một mã định danh duy nhất, thì lần lặp đó sẽ có một số phiên bản duy nhất. Tôi thấy đây là 'quy tắc đầu tiên'. Kết quả là, các bản phát hành riêng biệt rõ ràng sẽ muốn số phiên bản riêng biệt.
Tuy nhiên, nhiều hơn vào chơi:
Một cách để chắc chắn về điều này là tăng số phiên bản với mỗi lần xác nhận nhưng đây thường không phải là một ý tưởng hay. Có thể phải thực hiện một số lần cam kết / lặp lại để có một thay đổi tương đối nhỏ hoạt động và thật khó hiểu với thế giới bên ngoài để xem phiên bản 0.0.1 -> 0.0.2 do một số lượng lớn các thay đổi tích lũy sau đó 0,0.2 -> 0,0 .56 vì ai đó đã cam kết không gian trắng sửa một tệp tại một thời điểm và không thay đổi bất kỳ chức năng nào.
Khoảng cách từ "một phiên bản cho mỗi bản phát hành đầy đủ" đến "một phiên bản cho mỗi cam kết" thực sự tùy thuộc vào: bạn, những người dùng khác và những hệ thống nào bạn sẵn sàng sử dụng để lấp đầy các khoảng trống.
Cá nhân tôi đã từng làm việc trong các dự án nhỏ và rất vui khi sử dụng git băm cho đến khi một phiên bản mà người khác sử dụng và một phiên bản cho mỗi người trong số họ (cho dù tôi có mong đợi có bao nhiêu người để có được nó). Tuy nhiên, trong các công ty lớn hơn và các dự án lớn hơn, một số phiên bản ngữ nghĩa, nhưng độ trung thực thấp hơn so với từng cam kết, như đánh số ứng viên phát hành được sử dụng. Những cái này có lợi thế nhưng thêm phức tạp.