SVN - Vòng đời
Vòng đời của Hệ thống Kiểm soát Phiên bản được thảo luận trong chương này. Trong các chương sau, chúng ta sẽ thấy lệnh Subversion cho mỗi thao tác.
Tạo kho lưu trữ:
Kho lưu trữ 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ử về các thay đổi. Có nghĩa là nó duy trì lịch sử các thay đổi được thực hiện trong các tệp.
Thao tác 'tạo' được sử dụng để tạo một kho lưu trữ mới. Hầu hết các lần thao tác này chỉ được thực hiện một lần. Khi bạn tạo một kho lưu trữ mới, VCS của bạn sẽ yêu cầu bạn nói điều gì đó để xác định nó, chẳng hạn như nơi bạn muốn nó được tạo hoặc tên nào nên được đặt cho kho lưu trữ.
Thủ tục thanh toán
Thao tác 'Checkout' được sử dụng để tạo bản sao hoạt động từ kho lưu trữ. 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 thực hiện các thay đổi của họ và sau đó, gửi những thay đổi này đến kho lưu trữ.
Cập nhật
Như tên cho thấy, hoạt động 'cập nhật' được sử dụng để cập nhật bản sao làm việc. Thao tác này đồng bộ hóa bản sao làm việc với kho lưu trữ. Vì kho lưu trữ được chia sẻ bởi tất cả các nhóm, các nhà phát triển khác có thể cam kết các thay đổi của họ và bản sao làm việc của bạn trở nên cũ hơn.
Giả sử Tom và Jerry là hai nhà phát triển làm việc trong một dự án. Cả hai đều kiểm tra phiên bản mới nhất từ kho lưu trữ và bắt đầu hoạt động. Tại thời điểm này, các bản sao làm việc của chúng đã được đồng bộ hóa hoàn toàn với kho lưu trữ. Jerry hoàn thành công việc của mình rất hiệu quả và cam kết những thay đổi của anh ấy đối với kho lưu trữ.
Bây giờ bản sao làm việc của Tom đã lỗi thời. Thao tác cập nhật sẽ kéo các thay đổi mới nhất của Jerry từ kho lưu trữ và sẽ cập nhật bản sao làm việc của Tom .
Thực hiện các thay đổi
Sau khi thanh toán, người ta có thể thực hiện các thao tác khác nhau để thực hiện các thay đổi. Chỉnh sửa là thao tác phổ biến nhất. Người ta có thể chỉnh sửa tệp hiện có để thêm / bớt nội dung khỏi tệp.
Người ta có thể thêm tệp / thư mục. Nhưng ngay lập tức các tệp / thư mục này không trở thành một phần của kho lưu trữ, thay vào đó chúng được thêm vào danh sách thay đổi đang chờ xử lý và trở thành một phần của kho lưu trữ sau hoạt động cam kết.
Tương tự, người ta có thể xóa các tệp / thư mục. Thao tác xóa ngay lập tức xóa tệp khỏi bản sao đang làm việc, nhưng việc xóa tệp thực sự được thêm vào danh sách thay đổi đang chờ xử lý và các thay đổi được thực hiện đối với kho lưu trữ sau thao tác cam kết.
Thao tác 'Đổi tên' thay đổi tên của tệp / thư mục. Thao tác 'Move' được sử dụng để di chuyển tệp / thư mục từ nơi này sang nơi khác trong cây kho lưu trữ.
Xem lại các thay đổi
Khi bạn kiểm tra bản sao làm việc hoặc cập nhật bản sao làm việc, thì bản sao làm việc của bạn được đồng bộ hóa hoàn toàn với kho lưu trữ. Nhưng khi bạn thay đổi bản sao làm việc của mình, bản sao đó sẽ trở nên mới hơn so với kho lưu trữ. Và bạn nên xem lại các thay đổi của mình trước khi thực hiện thao tác 'cam kết'.
Thao tác 'Trạng thái' liệt kê các sửa đổi đã được thực hiện đối với bản sao làm việc. Như chúng tôi đã đề cập trước đây, bất cứ khi nào bạn thực hiện thay đổi trong bản sao hoạt động, tất cả những thay đổi này sẽ trở thành một phần của danh sách thay đổi đang chờ xử lý. Và thao tác 'trạng thái' được sử dụng để xem danh sách thay đổi đang chờ xử lý.
Thao tác 'Trạng thái' chỉ cung cấp danh sách các thay đổi nhưng không cung cấp thông tin chi tiết về chúng. Người ta có thể sử dụng thao tác khác để xem chi tiết của các sửa đổi đã được thực hiện đối với bản sao làm việc.
Sửa lỗi
Giả sử một người đã thực hiện các thay đổi đối với bản sao làm việc của mình, nhưng bây giờ, anh ta muốn loại bỏ những thay đổi này. Trong tình huống này, thao tác 'hoàn nguyên' sẽ hữu ích.
Thao tác hoàn nguyên hoàn nguyên các sửa đổi đã được thực hiện đối với bản sao làm việc. Có thể hoàn nguyên một hoặc nhiều tệp / thư mục. Ngoài ra, có thể hoàn nguyên toàn bộ bản sao làm việc. Trong trường hợp này, thao tác 'hoàn nguyên' sẽ phá hủy danh sách thay đổi đang chờ xử lý và sẽ đưa bản sao hoạt động trở lại trạng thái ban đầu.
Giải quyết xung đột:
Xung đột có thể xảy ra tại thời điểm hợp nhất. Thao tác 'Hợp nhất' tự động xử lý mọi thứ có thể được thực hiện một cách an toàn. Mọi thứ khác được coi là xung đột. Ví dụ: tệp "hello.c" đã được sửa đổi trong nhánh và bị xóa trong nhánh khác. Tình huống như vậy cần một người đưa ra quyết định. Hoạt động 'giải quyết' được sử dụng để giúp người dùng tìm ra mọi thứ và thông báo cho VCS về các cách xử lý xung đột.
Cam kết thay đổi
Thao tác 'commit' được sử dụng để áp dụng các thay đổi từ bản sao làm việc cho kho lưu trữ. Thao tác này sửa đổi kho lưu trữ và các nhà phát triển khác có thể thấy những thay đổi này bằng cách cập nhật bản sao làm việc của họ.
Trước khi commit, người ta phải thêm tệp / thư mục vào danh sách thay đổi đang chờ xử lý. Đây là nơi mà các thay đổi chờ đợi được cam kết. Với cam kết, chúng tôi thường cung cấp thông báo nhật ký để giải thích lý do tại sao ai đó thực hiện thay đổi. Thông báo nhật ký này trở thành một phần của lịch sử của kho lưu trữ. Cam kết là một hoạt động nguyên tử, có nghĩa là toàn bộ cam kết thành công hoặc nó được khôi phục lại. Người dùng không bao giờ thấy cam kết đã hoàn thành một nửa.