Version Control System (VCS)

Bạn đang xem: Version Control System (VCS) Tại DongnaiArt

Cùng xem Version Control System (VCS) trên youtube.

Trước khi tìm hiểu về Git bạn cần nắm vững về thuật ngữ Version Control System (VCS).

VCS Là Gì

VCS viết tắt của Version Control System là một loại phần mềm giúp chúng ta quản lý sự thay đổi trong source code của dự án theo thời gian một cách dễ dàng và thuận tiện.

VCS lưu trữ mọi sự thay đổi trong source code của dự án trong một cơ sở dữ liệu đặc biệt. Chúng ta có thể dễ ràng truy vấn ra được sự thay đổi của source code trong một file tại một thời điểm bất kỳ. Và nếu cần chúng ta có thể dễ dàng đảo ngược source code trong file trở về một thời điểm trước đó.

Lưu ý: Hai thuật ngữ VCS (Version Control System) và SCM (Source Code Management) được sử dụng thay thế cho nhau.

Tại Sao Cần Sử Dụng VCS

VCS đặc biệt hữu dụng trong các dự án lớn đòi hỏi sự tham gia của nhiều lập trình viên. Ví dụ tại cùng một thời điểm, chúng ta cần phát triển thêm nhiều feature (tính năng) mới cho phần mềm. Và mỗi thành viên trong team được phân công để phát triển một feature. Khi có hai thành viên cùng hoàn thành xong hai feature riêng biệt cùng lúc thì khi đó việc merge (gộp) code lại có thể sẽ gây ra conflict (xung đột) vì hai người này có thể sửa đổi cùng một đoạn code trên cùng một file.

Xem Thêm : Google Duo là gì? Có tính năng gì, có miễn phí không?

Lúc này sử dụng VCS chúng ta có thể dễ dàng kiểm tra được sự thay đổi nào đến từ ai và cho feature nào.

VCS Phân Tán và VCS Tập Trung

Dự theo cách thiết kế thì VCS được chia thành hai kiểu khác nhau đó là VCS tập trung (centralized) và VCS phân tán (distributed).

Với các VCS dạng tập trung thì source code của dự án sẽ được lưu trữ trên một kho tập trụng (hay kho trung tâm) trên một máy chủ. Mỗi lập trình viên muốn tạo ra sự thay đổi cho source code lưu trữ trong kho trung tâm trung (centralized repository) thì họ cần phải thực hiện một công việc trước đó là update source code trên máy tính của họ với kho tập trung trước sau đó mới được thay đổi.

Cùng tham khảo ví dụ sau đây để bạn có thể hiểu rõ sự khác biệt giữa hai kiểu VCS tập trung và VCS phân tán.

Trong dự ánh đang có bốn anh A, B, C và D cùng làm và source code dự án này được quản lý bởi một phần mềm VCS tập trung tên là Subversion (hay SVN).

Vào 08:00:00 ngày hôm nay lập trình viên A lên công ty mở máy tính ra và update code trên máy tính của anh ta để đồng bộ với code lưu trữ trên kho tập trung. Sau đó anh A bắt đầu code để fix một lỗi mà anh ta tìm thấy ngày hôm qua. Anh A code rất nhanh nên chỉ mất 15 phút để sửa lỗi và để sửa lỗi này A đã phải thay đổi nội dung của 50 file khác nhau trong source code.

Xem Thêm : Hàng OEM nghĩa là gì? Có nên mua hàng OEM? – JobsGO Blog

Và sau đó anh này đấy (push) code mới của anh ta lên kho tập trung. Do chưa có ai thay đổi code trên kho tập trung nên thay đổi của anh ta được thông qua và code trên kho tập trung được cập nhật.

Vào lúc 08:30:00 ba anh B, C và D lên công ty và mở máy tính để tiếp tục code 3 feature khác nhau và cũng khá quan trọng của dự án.

Lúc 08:50:00 khi anh B tạo một phiên bản mới cho source code của mình và với VCS dạng tập trung thì điều này buộc anh phải update code trên máy của anh ta với kho tập trung trên server trước khi có thể tạo ra version mới. Tuy nhiên khi update code trên kho thì anh này gặp phải lỗi xung đột nội dung do anh ta đã thay đổi 10 file mà anh A đã thay đổi lúc 08:15:00 và đấy lên kho tập trung.

Lúc 09:15:00 khi anh C và anh D cũng muốn tạo một phiên bản mới cho source code và cũng gặp phải lỗi tương tự như anh B do đã sửa các file mà anh A cũng đã sửa trước đó.

Như vậy để giải quyết xung đột thì từng B, C và D lúc này mỗi người cũng phải xem lại thay đổi source code của mình và của anh A để tránh xoá nhầm code tạo thêm bug mới.

Ngược lại với VCS dạng phân tán thì mỗi lập trình viên sẽ có riêng một kho (repository) của mình và có thể tự do phát triển khác feature và tạo version mới (hay đúng hơn là một commit) mà không cần phải đồng bộ với kho trên server. Điều này sẽ giúp lập trình viên tập trung vào việc hoàn thành feature hay fix bug mà không cần lo về việc phải liên tục update code trên máy tính của họ với code trên server để giảm thiểu xung đột. Việc xử lý xung đột (nếu có) sẽ được thực hiện một lần duy nhất.

Nguồn: https://dongnaiart.edu.vn
Danh mục: Tin tức

Lời kết: Trên đây là bài viết Version Control System (VCS). Hy vọng với bài viết này bạn có thể giúp ích cho bạn trong cuộc sống, hãy cùng đọc và theo dõi những bài viết hay của chúng tôi hàng ngày trên website: Dongnaiart.edu.vn

Related Posts

Xổ số Thừa Thiên Huế: Lựa chọn hàng đầu của lô thủ!

Xổ số Thừa Thiên Huế: Lựa chọn hàng đầu của lô thủ!

Có thể bạn quan tâm Hạn Tam Kheo là hạn gì, tốt hay xấu? Nam nữ ở độ tuổi nào thì gặp Em hãy thuyết minh về…

Điều khác biệt của chương trình đào tạo quốc tế cấp trung học sở 

Điều khác biệt của chương trình đào tạo quốc tế cấp trung học sở 

Chương trình đào tạo quốc tế chắc hẳn không còn là điều gì đó quá xa lạ với mọi người. Song vẫn còn rất nhiều bậc phụ…

Kèo châu Á là gì? Kinh nghiệm cá cược kèo châu Á bất bại 2024

Kèo châu Á là gì? Kinh nghiệm cá cược kèo châu Á bất bại 2024

Kèo châu Á là gì? Kèo châu Á là một loại kèo cá cược phổ biến trong bóng đá và nhiều môn thể thao khác tại thabet. Đây…

Lý do bạn nên tải app Sin88 về điện thoại tham gia cá cược

Lý do bạn nên tải app Sin88 về điện thoại tham gia cá cược

Bạn muốn tìm kiếm một sân chơi cá cược uy tín, chất lượng và mang đến những trải nghiệm tuyệt vời? Sin88 – ứng dụng cá cược…

Bắn cá đổi thưởng là gì? Kinh nghiệm chơi bắn cá đổi thưởng luôn thắng

Bắn cá đổi thưởng là gì? Kinh nghiệm chơi bắn cá đổi thưởng luôn thắng

Bắn cá đổi thưởng là gì? Bắn cá U888 đổi thưởng là một loại hình giải trí trực tuyến phổ biến trong ngành game online. Dưới đây là…

Cup C1 – Những thông tin giới thiệu về giải đấu Champion League

Cup C1 – Những thông tin giới thiệu về giải đấu Champion League

Cup C1 hay còn được gọi với một tên gọi khác đó chính là Champion League, đây là một trong những giải đấu bóng đá phổ biến…