Please enable JavaScript.
Coggle requires JavaScript to display documents.
Hệ thống Quản lý Phiên bản (VCS) - Coggle Diagram
Hệ thống Quản lý Phiên bản (VCS)
Khái niệm
Là một phần mềm/ hệ thống
Quản lý và lưu mọi sự thay đổi trong mã nguồn
Có thể truy vấn bất kỳ lúc nào
Có thể phục hồi mã nguồn về bất kỳ một thời điểm nào trong quá khứ
Hoạt động cơ bản
Bổ sung các tập tin
Lệnh tạo một kho lưu trữ: $mkdir project, $cd project, $git init
Thêm một tệp tin vào kho lưu trữ: $git add foo.txt (hoặc git add)
Cập nhật các tập tin
Fetch là hoạt động lấy tập tin từ kho lưu trữ từ xa về kho lưu trữ cục bộ
Merge hợp nhất các thay đổi từ kho lưu trữ cục bộ về kho lưu trữ cá nhân
Pull là hoạt động cập nhật trực tiếp từ kho lưu trữ từ xa về kho lưu trữ cá nhân
Cam kết các thay đổi từ kho lưu trữ cá nhân lên kho lưu trữ cục bộ và cục bộ thành toàn cục
Push là hoạt động lưu sự thay đổi từ kho lưu trữ cục bộ tới kho lưu trữ từ xa
Commit là hoạt động cam kết các thay đổi từ kho lưu trữ cá nhân lên kho lưu trữ cục bộ ($git commit, $git commit -a)
Những điều cần tránh
Nên thực hiện thay đổi trên một bản sao thay vì chỉnh sửa trực tiếp trên kho lưu trữ trung tâm
Hai loại tệp nên tránh sử dụng trong VCS: tệp tin dẫn xuất và tệp tin nhị phân dung lượng lớn
Phân loại
VCS Phân Tán
Đặc điểm
Mỗi lập trình viên sẽ có một kho riêng của mình để tự do phát triển dự án
Không cần đồng bộ với kho trên máy chủ
Lợi thế
Tất cả các hoạt động đều diễn ra nhanh vì chỉ cần truy cập vào ổ cứng chứ không phải máy chủ từ xa
Không phải lúc nào cũng cần kết nối Internet
Nếu dữ liệu máy chủ trung tâm bị mất có thể phục hồi lại dễ dàng từ bất kì kho lưu trữ cục bộ nào
VCS Tập Trung
Hạn chế
Không có sẵn ở cục bộ nên luôn cần kết nối mạng để thực hiện bất kì hoạt động nào
Nếu máy chủ trung tâm gặp sự cố sẽ mất toàn bộ dữ liệu
Đặc điểm
Mã nguồn sẽ được lưu trữ trên kho trung tâm tại một máy chủ
Muốn phát triển dự án cần đồng bộ mã nguồn với kho trung tâm
Lợi thế
Chia sẻ và truy xuất các phiên bản của từng cá nhân khác nhau dễ dàng hơn
Giải quyết được cả 2 vấn đề là tổ chức, lưu trữ các phiên bản hiệu quả
GIT
Khái niệm
GIT là hệ thống kiểm soát phiên bản phân tán
Hỗ trợ các luồng công việc phi tuyến tính phân tán bằng cách cung cấp một cơ chế giúp dữ liệu của dự án được đảm bảo hơn
Tính chất
Nguồn mở và miễn phí
Khả năng mở rộng
Đáng tin cậy
Bảo mật
Hỗ trợ mạnh mẽ cho phát triển phi tuyến
Khả năng tương thích với các hệ thống và giao thức hiện có
Vai trò
Thúc đẩy giao tiếp giữa các lập trình viên giúp họ trao đổi thông tin, chia sẻ công việc
Cho phép giao tiếp giữa nhóm phát triển và nhóm vận hành
Quản lý mã mà các lập trình viên đóng góp cho kho lưu trữ
tham gia trong toàn bộ vòng đời phát triển ứng dụng, từ thiết kế cho đến quá trình phát triển đến hỗ trợ sản xuất
GitHub
GitHub là một dịch vụ trực tuyến mà các nhà phát triển sử dụng Git có thể kết nối và tải lên hoặc tải xuống tài nguyên
Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, …)