{"id":46,"date":"2014-05-25T10:54:16","date_gmt":"2014-05-25T10:54:16","guid":{"rendered":"https:\/\/devopsbuzz.com?p=46"},"modified":"2020-07-10T20:43:51","modified_gmt":"2020-07-10T20:43:51","slug":"centralized-vs-distributed-version-control-systems","status":"publish","type":"post","link":"https:\/\/devopsbuzz.com\/centralized-vs-distributed-version-control-systems\/","title":{"rendered":"Centralized vs Distributed Version Control Systems [CVCS vs DVCS]"},"content":{"rendered":"<p>We read the concept\/benefits\/types of <a href=\"https:\/\/devopsbuzz.com\/version-control-systems-scm\/\">Version Control Systems<\/a> in our last article.<\/p>\n<p>Now, I am going to shed some light on the<strong> differences between Centralized Version Control systems and Distributed Version Control Systems.<\/strong><\/p>\n<p>If you are fairly new to SCM and version control systems, you can direct your browser to <a href=\"https:\/\/devopsbuzz.com\/version-control-systems-terms\/\">this article<\/a> where we have covered some <strong>very commonly used terms in VCS<\/strong>.<\/p>\n<p>So, here you go&#8230;<\/p>\n<p>The concept of a centralized system is that it works on a Client-Server relationship. The repository is located at one place and provides access to many clients.<\/p>\n<p><a href=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/central_vcs.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-52\" alt=\"Central Version Control Systems\" src=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/central_vcs.jpg\" width=\"574\" height=\"614\" srcset=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/central_vcs.jpg 820w, https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/central_vcs-280x300.jpg 280w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><\/a>Whereas, in a <strong>Distributed System<\/strong>, every user has a local copy of the repository in addition to the central repo on the server side.<\/p>\n<p><a href=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/distributed_vcs.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-53 aligncenter\" alt=\"Distributed Version Control Systems\" src=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/distributed_vcs.jpg\" width=\"574\" height=\"614\" srcset=\"https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/distributed_vcs.jpg 820w, https:\/\/devopsbuzz.com\/wp-content\/uploads\/2014\/05\/distributed_vcs-280x300.jpg 280w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><\/a>Centralized Version Control is the simplest system with the concept of 1 central repository which servers provides latest code to the all the clients across the globe<\/p>\n<p>Distributed Version Control provides flexibility and has emerged with the concept that everyone has their own repository, they don\u2019t just check out the snapshot of the code \u2013 they fully mirror the central repository.<\/p>\n<p>CVCS is easy to understand whereas DVCS has some complex process for beginners.<\/p>\n<p>CVCS is dependent on the access to the server whereas DVCS provides the benefits to work offline. Everything except push and pull the code can be done without an internet connection.<\/p>\n<p>CVCS is easy to administrate and has more control over users and access as it is server from one place.<\/p>\n<p>DVCS is comparatively fast comparing to CVCS as you don\u2019t have to contact the central server for every command. DVCS just takes much time on the first check-out as its mirroring the central repository on your local.<\/p>\n<p>If your project has a very long history and change-sets then downloading the entire history can take an unreasonable amount of time and disk space in DVCS whereas CVCS allows you to checkout only few lines of code if you just need to work on few modules.<\/p>\n<p>DVCS provides a powerful and detailed change tracking, which means fewer conflicts at the time of merge.<\/p>\n<p>DVCS gives an ability that developers can share changes with one or two other members of team at a time if they want to get some feedback before showing the changes to everyone.<\/p>\n<p>The revisions in DVCS are typical big guids (like fa333b7rer96cd6d3b0037d660) &#8211; it\u2019s not incremental numbers (which is provided by CVCS) which make them harder to reference and remember.<\/p>\n<p>DVCS provides an advantage wherein if the main server\u2019s repository crashes, you still have a local repository in every developer\u2019s local space from which you can create the main repository.<\/p>\n<p>SVN and CVS are the popular tools of CVCS<\/p>\n<p>GIT and Mercurial are the popular tools of DVCS<\/p>\n<p>I hope now you have a good idea of differences between the different <a href=\"https:\/\/devopsbuzz.com\/version-control-systems-scm\/\">version control systems<\/a> &#8211; Centralized and Distributed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We read the concept\/benefits\/types of Version Control Systems in our last article. Now, I am going to shed some light on the differences between Centralized Version Control systems and Distributed Version Control Systems. If you are fairly new to SCM and version control systems, you can direct your browser to this article where we have &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/devopsbuzz.com\/centralized-vs-distributed-version-control-systems\/\"> <span class=\"screen-reader-text\">Centralized vs Distributed Version Control Systems [CVCS vs DVCS]<\/span> Read More \u00bb<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[4,5],"featured_image_urls":{"full":"","thumbnail":"","medium":"","medium_large":"","large":"","1536x1536":"","2048x2048":""},"post_excerpt_stackable":"<p>We read the concept\/benefits\/types of Version Control Systems in our last article. Now, I am going to shed some light on the differences between Centralized Version Control systems and Distributed Version Control Systems. If you are fairly new to SCM and version control systems, you can direct your browser to this article where we have covered some very commonly used terms in VCS. So, here you go&#8230; The concept of a centralized system is that it works on a Client-Server relationship. The repository is located at one place and provides access to many clients. Whereas, in a Distributed System, every&hellip;<\/p>\n","category_list":"<a href=\"https:\/\/devopsbuzz.com\/topics\/basics\/\" rel=\"category tag\">Basics<\/a>","author_info":{"name":"Ravi Verma","url":"https:\/\/devopsbuzz.com\/author\/ravi-verma\/"},"comments_num":"27 comments","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Ravi Verma","author_link":"https:\/\/devopsbuzz.com\/author\/ravi-verma\/"},"uagb_comment_info":27,"uagb_excerpt":"We read the concept\/benefits\/types of Version Control Systems in our last article. Now, I am going to shed some light on the differences between Centralized Version Control systems and Distributed Version Control Systems. If you are fairly new to SCM and version control systems, you can direct your browser to this article where we have&hellip;","_links":{"self":[{"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/posts\/46"}],"collection":[{"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":9,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"predecessor-version":[{"id":1925,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/posts\/46\/revisions\/1925"}],"wp:attachment":[{"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devopsbuzz.com\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}