SVN - Các khái niệm cơ bản
Hệ thống kiểm soát phiên bản là gì?
Version Control System (VCS) là một phần mềm giúp các nhà phát triển phần mềm làm việc cùng nhau và duy trì một lịch sử hoàn chỉnh về công việc của họ.
Following are the goals of a Version Control System.
- Cho phép các nhà phát triển làm việc đồng thời.
- Không ghi đè các thay đổi của nhau.
- Duy trì lịch sử của mọi phiên bản của mọi thứ.
A VCS is divided into two categories.
- Hệ thống kiểm soát phiên bản tập trung (CVCS) và
- Hệ thống kiểm soát phiên bản phân tán / phi tập trung (DVCS).
Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào Hệ thống kiểm soát phiên bản tập trung và đặc biệt Subversion. Subversion thuộc hệ thống kiểm soát phiên bản tập trung, có nghĩa là nó sử dụng máy chủ trung tâm để lưu trữ tất cả các tệp và cho phép cộng tác nhóm.
Các thuật ngữ kiểm soát phiên bản
Chúng ta hãy bắt đầu bằng cách thảo luận về một số thuật ngữ mà chúng ta sẽ sử dụng trong hướng dẫn này.
Repository:Kho lưu trữ là trái tim của bất kỳ hệ thống kiểm soát phiên bản nào. Nó là nơi trung tâm, nơi các nhà phát triển lưu trữ tất cả công việc của họ. Kho lưu trữ không chỉ lưu trữ các tệp mà còn cả lịch sử. Kho lưu trữ được truy cập qua mạng, hoạt động như một máy chủ và công cụ kiểm soát phiên bản hoạt động như một máy khách. Khách hàng có thể kết nối với kho lưu trữ và sau đó họ có thể lưu trữ / truy xuất các thay đổi của họ đến / từ kho lưu trữ. Bằng cách lưu trữ các thay đổi, một ứng dụng khách làm cho những thay đổi này có sẵn cho những người khác và bằng cách truy xuất các thay đổi, một ứng dụng sẽ lấy các thay đổi của người khác làm bản sao làm việc.
Trunk: Thân cây là một thư mục nơi tất cả các quá trình phát triển chính xảy ra và thường được các nhà phát triển kiểm tra để làm việc trong dự án.
Tags: Thư mục thẻ được sử dụng để lưu trữ các ảnh chụp nhanh có tên của dự án. Thao tác thẻ cho phép đặt tên mô tả và dễ nhớ cho phiên bản cụ thể trong kho lưu trữ.
Ví dụ: LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT đáng nhớ hơn
UUID kho lưu trữ: 7ceef8cb-3799-40dd-a067-c216ec2e5247 và
Bản sửa đổi: 13
Branches:Hoạt động nhánh được sử dụng để tạo ra một dòng phát triển khác. Nó rất hữu ích khi bạn muốn quá trình phát triển của mình rẽ sang hai hướng khác nhau. Ví dụ: khi bạn phát hành phiên bản 5.0, bạn có thể muốn tạo một nhánh để việc phát triển các tính năng của 6.0 có thể tách biệt với các bản sửa lỗi 5.0.
Working copy:Bản sao làm việc là một bản chụp nhanh của kho lưu trữ. Kho lưu trữ được chia sẻ bởi tất cả các nhóm, nhưng mọi người không trực tiếp sửa đổi nó. Thay vào đó, mỗi nhà phát triển sẽ kiểm tra bản sao hoạt động. Bản sao làm việc là một nơi làm việc riêng tư, nơi các nhà phát triển có thể thực hiện công việc của họ mà vẫn cách biệt với phần còn lại của nhóm.
Commit changes:Cam kết là một quá trình lưu trữ các thay đổi từ nơi làm việc riêng sang máy chủ trung tâm. Sau khi cam kết, các thay đổi được thực hiện cho tất cả nhóm. Các nhà phát triển khác có thể truy xuất những thay đổi này bằng cách cập nhật bản sao làm việc của họ. Cam kết là một hoạt động nguyên tử. Toàn bộ cam kết thành công hoặc bị lùi lại. Người dùng không bao giờ thấy một nửa cam kết đã hoàn thành.