CINXE.COM
Version control - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Version control - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"a6132def-ebf1-4d0a-8adc-72d227611a64","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Version_control","wgTitle":"Version control","wgCurRevisionId":1274295793,"wgRevisionId":1274295793,"wgArticleId":55955,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","Articles with short description","Short description is different from Wikidata","Articles needing additional references from April 2011","All articles needing additional references","All articles with unsourced statements","Articles with unsourced statements from December 2017","Articles with unsourced statements from November 2016","Articles with unsourced statements from January 2010","Articles with excerpts","Version control", "Version control systems","Technical communication","Software development process","Distributed version control systems"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Version_control","wgRelevantArticleId":55955,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"Revision_control","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgInternalRedirectTargetUrl":"/wiki/Version_control","wgEditSubmitButtonLabelPublish":true, "wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q189439","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"} ;RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.17"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Version control - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Version_control"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Version_control&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Version_control"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Version_control rootpage-Version_control skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Version+control" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Version+control" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Version+control" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Version+control" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <ul id="toc-Overview-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Structure" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Structure"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Structure</span> </div> </a> <button aria-controls="toc-Structure-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Structure subsection</span> </button> <ul id="toc-Structure-sublist" class="vector-toc-list"> <li id="toc-Graph_structure" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Graph_structure"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Graph structure</span> </div> </a> <ul id="toc-Graph_structure-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Specialized_strategies" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Specialized_strategies"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Specialized strategies</span> </div> </a> <button aria-controls="toc-Specialized_strategies-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Specialized strategies subsection</span> </button> <ul id="toc-Specialized_strategies-sublist" class="vector-toc-list"> <li id="toc-In_Business_and_Law" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#In_Business_and_Law"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>In Business and Law</span> </div> </a> <ul id="toc-In_Business_and_Law-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Source-management_models" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Source-management_models"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Source-management models</span> </div> </a> <button aria-controls="toc-Source-management_models-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Source-management models subsection</span> </button> <ul id="toc-Source-management_models-sublist" class="vector-toc-list"> <li id="toc-Atomic_operations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Atomic_operations"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Atomic operations</span> </div> </a> <ul id="toc-Atomic_operations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-File_locking" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#File_locking"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>File locking</span> </div> </a> <ul id="toc-File_locking-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Version_merging" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Version_merging"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>Version merging</span> </div> </a> <ul id="toc-Version_merging-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Baselines,_labels_and_tags" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Baselines,_labels_and_tags"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.4</span> <span>Baselines, labels and tags</span> </div> </a> <ul id="toc-Baselines,_labels_and_tags-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Distributed_revision_control" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Distributed_revision_control"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Distributed revision control</span> </div> </a> <ul id="toc-Distributed_revision_control-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Best_practices" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Best_practices"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Best practices</span> </div> </a> <ul id="toc-Best_practices-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Costs_and_benefits" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Costs_and_benefits"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Costs and benefits</span> </div> </a> <button aria-controls="toc-Costs_and_benefits-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Costs and benefits subsection</span> </button> <ul id="toc-Costs_and_benefits-sublist" class="vector-toc-list"> <li id="toc-Costs" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Costs"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Costs</span> </div> </a> <ul id="toc-Costs-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Benefits" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Benefits"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Benefits</span> </div> </a> <ul id="toc-Benefits-sublist" class="vector-toc-list"> <li id="toc-Allows_for_reverting_changes" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Allows_for_reverting_changes"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2.1</span> <span>Allows for reverting changes</span> </div> </a> <ul id="toc-Allows_for_reverting_changes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Branching_simplifies_deployment,_maintenance_and_development" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Branching_simplifies_deployment,_maintenance_and_development"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2.2</span> <span>Branching simplifies deployment, maintenance and development</span> </div> </a> <ul id="toc-Branching_simplifies_deployment,_maintenance_and_development-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Damage_mitigation,_accountability_and_process_and_design_improvement" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Damage_mitigation,_accountability_and_process_and_design_improvement"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2.3</span> <span>Damage mitigation, accountability and process and design improvement</span> </div> </a> <ul id="toc-Damage_mitigation,_accountability_and_process_and_design_improvement-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Simplifies_debugging" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Simplifies_debugging"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2.4</span> <span>Simplifies debugging</span> </div> </a> <ul id="toc-Simplifies_debugging-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Improves_collaboration_and_communication" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Improves_collaboration_and_communication"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2.5</span> <span>Improves collaboration and communication</span> </div> </a> <ul id="toc-Improves_collaboration_and_communication-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Integration" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Integration"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Integration</span> </div> </a> <button aria-controls="toc-Integration-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Integration subsection</span> </button> <ul id="toc-Integration-sublist" class="vector-toc-list"> <li id="toc-Integrated_development_environment" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Integrated_development_environment"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.1</span> <span>Integrated development environment</span> </div> </a> <ul id="toc-Integrated_development_environment-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Common_terminology" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Common_terminology"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Common terminology</span> </div> </a> <button aria-controls="toc-Common_terminology-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Common terminology subsection</span> </button> <ul id="toc-Common_terminology-sublist" class="vector-toc-list"> <li id="toc-Baseline" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Baseline"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.1</span> <span>Baseline</span> </div> </a> <ul id="toc-Baseline-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Blame" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Blame"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.2</span> <span>Blame</span> </div> </a> <ul id="toc-Blame-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Branch" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Branch"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.3</span> <span>Branch</span> </div> </a> <ul id="toc-Branch-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Change" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Change"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.4</span> <span>Change</span> </div> </a> <ul id="toc-Change-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Change_list" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Change_list"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.5</span> <span>Change list</span> </div> </a> <ul id="toc-Change_list-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Checkout" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Checkout"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.6</span> <span>Checkout</span> </div> </a> <ul id="toc-Checkout-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Clone" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Clone"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.7</span> <span>Clone</span> </div> </a> <ul id="toc-Clone-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Commit_(noun)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Commit_(noun)"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.8</span> <span>Commit (noun)</span> </div> </a> <ul id="toc-Commit_(noun)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Commit_(verb)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Commit_(verb)"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.9</span> <span>Commit (verb)</span> </div> </a> <ul id="toc-Commit_(verb)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Commit_message" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Commit_message"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.10</span> <span>Commit message</span> </div> </a> <ul id="toc-Commit_message-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Conflict" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Conflict"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.11</span> <span>Conflict</span> </div> </a> <ul id="toc-Conflict-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Delta_compression" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Delta_compression"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.12</span> <span>Delta compression</span> </div> </a> <ul id="toc-Delta_compression-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Dynamic_stream" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Dynamic_stream"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.13</span> <span>Dynamic stream</span> </div> </a> <ul id="toc-Dynamic_stream-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Export" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Export"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.14</span> <span>Export</span> </div> </a> <ul id="toc-Export-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fetch" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Fetch"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.15</span> <span>Fetch</span> </div> </a> <ul id="toc-Fetch-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Forward_integration" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Forward_integration"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.16</span> <span>Forward integration</span> </div> </a> <ul id="toc-Forward_integration-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Head" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Head"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.17</span> <span>Head</span> </div> </a> <ul id="toc-Head-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Import" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Import"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.18</span> <span>Import</span> </div> </a> <ul id="toc-Import-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Initialize" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Initialize"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.19</span> <span>Initialize</span> </div> </a> <ul id="toc-Initialize-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Interleaved_deltas" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Interleaved_deltas"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.20</span> <span>Interleaved deltas</span> </div> </a> <ul id="toc-Interleaved_deltas-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Label" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Label"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.21</span> <span>Label</span> </div> </a> <ul id="toc-Label-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Locking" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Locking"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.22</span> <span>Locking</span> </div> </a> <ul id="toc-Locking-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Mainline" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Mainline"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.23</span> <span>Mainline</span> </div> </a> <ul id="toc-Mainline-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Merge" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Merge"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.24</span> <span>Merge</span> </div> </a> <ul id="toc-Merge-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Promote" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Promote"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.25</span> <span>Promote</span> </div> </a> <ul id="toc-Promote-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Pull,_push" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Pull,_push"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.26</span> <span>Pull, push</span> </div> </a> <ul id="toc-Pull,_push-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Pull_request" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Pull_request"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.27</span> <span>Pull request</span> </div> </a> <ul id="toc-Pull_request-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Repository" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Repository"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.28</span> <span>Repository</span> </div> </a> <ul id="toc-Repository-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Resolve" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Resolve"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.29</span> <span>Resolve</span> </div> </a> <ul id="toc-Resolve-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Reverse_integration" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Reverse_integration"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.30</span> <span>Reverse integration</span> </div> </a> <ul id="toc-Reverse_integration-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Revision_and_version" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Revision_and_version"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.31</span> <span>Revision and version</span> </div> </a> <ul id="toc-Revision_and_version-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Share" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Share"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.32</span> <span>Share</span> </div> </a> <ul id="toc-Share-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Stream" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Stream"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.33</span> <span>Stream</span> </div> </a> <ul id="toc-Stream-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Tag" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Tag"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.34</span> <span>Tag</span> </div> </a> <ul id="toc-Tag-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Trunk" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Trunk"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.35</span> <span>Trunk</span> </div> </a> <ul id="toc-Trunk-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Update" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Update"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.36</span> <span>Update</span> </div> </a> <ul id="toc-Update-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Unlocking" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Unlocking"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.37</span> <span>Unlocking</span> </div> </a> <ul id="toc-Unlocking-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Working_copy" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Working_copy"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.38</span> <span>Working copy</span> </div> </a> <ul id="toc-Working_copy-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Version control</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 30 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-30" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">30 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B6%D8%A8%D8%B7_%D8%A7%D9%84%D9%86%D8%B3%D8%AE" title="ضبط النسخ – Arabic" lang="ar" hreflang="ar" data-title="ضبط النسخ" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Control_de_versions" title="Control de versions – Catalan" lang="ca" hreflang="ca" data-title="Control de versions" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Verzov%C3%A1n%C3%AD" title="Verzování – Czech" lang="cs" hreflang="cs" data-title="Verzování" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Versionsstyring" title="Versionsstyring – Danish" lang="da" hreflang="da" data-title="Versionsstyring" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Versionsverwaltung" title="Versionsverwaltung – German" lang="de" hreflang="de" data-title="Versionsverwaltung" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Versioonihaldus" title="Versioonihaldus – Estonian" lang="et" hreflang="et" data-title="Versioonihaldus" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Control_de_versiones" title="Control de versiones – Spanish" lang="es" hreflang="es" data-title="Control de versiones" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%DA%A9%D9%86%D8%AA%D8%B1%D9%84_%D9%86%D8%B3%D8%AE%D9%87" title="کنترل نسخه – Persian" lang="fa" hreflang="fa" data-title="کنترل نسخه" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Gestion_de_versions" title="Gestion de versions – French" lang="fr" hreflang="fr" data-title="Gestion de versions" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Control_de_versi%C3%B3ns" title="Control de versións – Galician" lang="gl" hreflang="gl" data-title="Control de versións" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%B2%84%EC%A0%84_%EA%B4%80%EB%A6%AC" title="버전 관리 – Korean" lang="ko" hreflang="ko" data-title="버전 관리" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%8E%D5%A5%D6%80%D5%A1%D5%B0%D5%BD%D5%AF%D5%B4%D5%A1%D5%B6_%D5%AF%D5%A1%D5%BC%D5%A1%D5%BE%D5%A1%D6%80%D5%B8%D6%82%D5%B4" title="Վերահսկման կառավարում – Armenian" lang="hy" hreflang="hy" data-title="Վերահսկման կառավարում" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Upravljanje_izvornim_k%C3%B4dom" title="Upravljanje izvornim kôdom – Croatian" lang="hr" hreflang="hr" data-title="Upravljanje izvornim kôdom" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Kendali_versi" title="Kendali versi – Indonesian" lang="id" hreflang="id" data-title="Kendali versi" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Controllo_versione" title="Controllo versione – Italian" lang="it" hreflang="it" data-title="Controllo versione" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A0%D7%99%D7%94%D7%95%D7%9C_%D7%92%D7%A8%D7%A1%D7%90%D7%95%D7%AA" title="ניהול גרסאות – Hebrew" lang="he" hreflang="he" data-title="ניהול גרסאות" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Verzi%C3%B3kezel%C3%A9s" title="Verziókezelés – Hungarian" lang="hu" hreflang="hu" data-title="Verziókezelés" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/%E1%80%9B%E1%80%84%E1%80%BA%E1%80%B8%E1%80%99%E1%80%BC%E1%80%85%E1%80%BA%E1%80%91%E1%80%AD%E1%80%94%E1%80%BA%E1%80%B8%E1%80%81%E1%80%BB%E1%80%AF%E1%80%95%E1%80%BA%E1%80%99%E1%80%BE%E1%80%AF%E1%80%85%E1%80%94%E1%80%85%E1%80%BA" title="ရင်းမြစ်ထိန်းချုပ်မှုစနစ် – Burmese" lang="my" hreflang="my" data-title="ရင်းမြစ်ထိန်းချုပ်မှုစနစ်" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Burmese" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Versiya_boshqarish_tizimi" title="Versiya boshqarish tizimi – Uzbek" lang="uz" hreflang="uz" data-title="Versiya boshqarish tizimi" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Controlul_versiunilor" title="Controlul versiunilor – Romanian" lang="ro" hreflang="ro" data-title="Controlul versiunilor" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Kontrolli_i_versionit" title="Kontrolli i versionit – Albanian" lang="sq" hreflang="sq" data-title="Kontrolli i versionit" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%DA%A9%DB%86%D9%86%D8%AA%D8%B1%DB%86%DA%B5%DB%8C_%D9%88%DB%95%D8%B4%D8%A7%D9%86" title="کۆنترۆڵی وەشان – Central Kurdish" lang="ckb" hreflang="ckb" data-title="کۆنترۆڵی وەشان" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Versiohallinta" title="Versiohallinta – Finnish" lang="fi" hreflang="fi" data-title="Versiohallinta" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Versionshantering" title="Versionshantering – Swedish" lang="sv" hreflang="sv" data-title="Versionshantering" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%A4%E0%AE%BF%E0%AE%B0%E0%AF%81%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AE%95%E0%AF%8D_%E0%AE%95%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%BE%E0%AE%9F%E0%AF%81" title="திருத்தக் கட்டுப்பாடு – Tamil" lang="ta" hreflang="ta" data-title="திருத்தக் கட்டுப்பாடு" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%84%E0%B8%A7%E0%B8%9A%E0%B8%84%E0%B8%B8%E0%B8%A1%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9B%E0%B8%A3%E0%B8%B1%E0%B8%9A%E0%B8%9B%E0%B8%A3%E0%B8%B8%E0%B8%87%E0%B9%81%E0%B8%81%E0%B9%89%E0%B9%84%E0%B8%82" title="การควบคุมการปรับปรุงแก้ไข – Thai" lang="th" hreflang="th" data-title="การควบคุมการปรับปรุงแก้ไข" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/S%C3%BCr%C3%BCm_kontrol_sistemi" title="Sürüm kontrol sistemi – Turkish" lang="tr" hreflang="tr" data-title="Sürüm kontrol sistemi" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_qu%E1%BA%A3n_l%C3%BD_phi%C3%AAn_b%E1%BA%A3n" title="Hệ thống quản lý phiên bản – Vietnamese" lang="vi" hreflang="vi" data-title="Hệ thống quản lý phiên bản" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6" title="版本控制 – Cantonese" lang="yue" hreflang="yue" data-title="版本控制" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6" title="版本控制 – Chinese" lang="zh" hreflang="zh" data-title="版本控制" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q189439#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Version_control" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Version_control" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Version_control"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Version_control&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Version_control&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Version_control"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Version_control&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Version_control&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Version_control" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Version_control" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Version_control&oldid=1274295793" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Version_control&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Version_control&id=1274295793&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FVersion_control"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FVersion_control"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Version_control&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Version_control&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Version_control_software" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://en.wikibooks.org/wiki/Version_Control" hreflang="en"><span>Wikibooks</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q189439" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Redirected from <a href="/w/index.php?title=Revision_control&redirect=no" class="mw-redirect" title="Revision control">Revision control</a>)</span></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Activity of managing versions of files</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">"Source control" redirects here. For other uses in medicine and environment, see <a href="/wiki/Source_control_(disambiguation)" class="mw-disambig" title="Source control (disambiguation)">Source control (disambiguation)</a>.</div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">"Revision control system" redirects here. For the software tool, see <a href="/wiki/Revision_Control_System" title="Revision Control System">Revision Control System</a>.</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-More_citations_needed plainlinks metadata ambox ambox-content ambox-Refimprove" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><a href="/wiki/File:Question_book-new.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/50px-Question_book-new.svg.png" decoding="async" width="50" height="39" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/75px-Question_book-new.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/99/Question_book-new.svg/100px-Question_book-new.svg.png 2x" data-file-width="512" data-file-height="399" /></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs additional citations for <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verification</a></b>.<span class="hide-when-compact"> Please help <a href="/wiki/Special:EditPage/Version_control" title="Special:EditPage/Version control">improve this article</a> by <a href="/wiki/Help:Referencing_for_beginners" title="Help:Referencing for beginners">adding citations to reliable sources</a>. Unsourced material may be challenged and removed.<br /><small><span class="plainlinks"><i>Find sources:</i> <a rel="nofollow" class="external text" href="https://www.google.com/search?as_eq=wikipedia&q=%22Version+control%22">"Version control"</a> – <a rel="nofollow" class="external text" href="https://www.google.com/search?tbm=nws&q=%22Version+control%22+-wikipedia&tbs=ar:1">news</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?&q=%22Version+control%22&tbs=bkt:s&tbm=bks">newspapers</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.google.com/search?tbs=bks:1&q=%22Version+control%22+-wikipedia">books</a> <b>·</b> <a rel="nofollow" class="external text" href="https://scholar.google.com/scholar?q=%22Version+control%22">scholar</a> <b>·</b> <a rel="nofollow" class="external text" href="https://www.jstor.org/action/doBasicSearch?Query=%22Version+control%22&acc=on&wc=on">JSTOR</a></span></small></span> <span class="date-container"><i>(<span class="date">April 2011</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <p><b>Version control</b> (also known as <b>revision control</b>, <b>source control</b>, and <b>source code management</b>) is the <a href="/wiki/Software_engineering" title="Software engineering">software engineering</a> practice of controlling, organizing, and tracking different versions in history of <a href="/wiki/Computer_file" title="Computer file">computer files</a>; primarily <a href="/wiki/Source_code" title="Source code">source code</a> <a href="/wiki/Text_files" class="mw-redirect" title="Text files">text files</a>, but generally any type of file. </p><p>Version control is a component of <a href="/wiki/Software_configuration_management" title="Software configuration management">software configuration management</a>.<sup id="cite_ref-Mercurial_1-0" class="reference"><a href="#cite_note-Mercurial-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p><p>A <i>version control system</i> is a <a href="/wiki/Software_tool" class="mw-redirect" title="Software tool">software tool</a> that automates version control. Alternatively, version control is embedded as a feature of some systems such as <a href="/wiki/Word_processor" title="Word processor">word processors</a>, <a href="/wiki/Spreadsheet" title="Spreadsheet">spreadsheets</a>, collaborative <a href="/wiki/Groupware" class="mw-redirect" title="Groupware">web docs</a>,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and <a href="/wiki/Content_management_system" title="Content management system">content management systems</a>, e.g., <a href="/wiki/Help:Page_history" title="Help:Page history">Wikipedia's page history</a>. </p><p>Version control includes viewing old versions and enables <a href="/wiki/Reversion_(software_development)" title="Reversion (software development)">reverting</a> a file to a previous version. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>As teams develop software, it is common for multiple versions of the same software to be deployed in different sites and for the developers to work simultaneously on updates. <a href="/wiki/Software_bug" title="Software bug">Bugs</a> or features of the software are often only present in certain versions (because of the fixing of some problems and the introduction of others as the program develops). Therefore, for the purposes of locating and fixing bugs, it is vitally important to be able to retrieve and run different versions of the software to determine in which version(s) the problem occurs. It may also be necessary to develop two versions of the software concurrently: for instance, where one version has bugs fixed, but no new features (<a href="/wiki/Branching_(revision_control)" class="mw-redirect" title="Branching (revision control)">branch</a>), while the other version is where new features are worked on (<a href="/wiki/Trunk_(software)" class="mw-redirect" title="Trunk (software)">trunk</a>). </p><p>At the simplest level, developers could simply retain multiple copies of the different versions of the program, and label them appropriately. This simple approach has been used in many large software projects. While this method can work, it is inefficient as many near-identical copies of the program have to be maintained. This requires a lot of self-discipline on the part of developers and often leads to mistakes. Since the code base is the same, it also requires granting read-write-execute permission to a set of developers, and this adds the pressure of someone managing permissions so that the code base is not compromised, which adds more complexity. Consequently, systems to automate some or all of the revision control process have been developed. This <a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">abstracts</a> most operational steps (hides them from ordinary users). </p><p>Moreover, in software development, legal and business practice, and other environments, it has become increasingly common for a single document or snippet of code to be edited by a team, the members of which may be geographically dispersed and may pursue different and even contrary interests. Sophisticated revision control that tracks and accounts for ownership of changes to documents and code may be extremely helpful or even indispensable in such situations. </p><p>Revision control may also track changes to <a href="/wiki/Configuration_files" class="mw-redirect" title="Configuration files">configuration files</a>, such as those typically stored in <code>/etc</code> or <code>/usr/local/etc</code> on <a href="/wiki/Unix" title="Unix">Unix</a> systems. This gives system administrators another way to easily track changes made and a way to roll back to earlier versions should the need arise. </p><p>Many version control systems identify the version of a file as a number or letter, called the <i>version number</i>, <i>version</i>, <i>revision number</i>, <i>revision</i>, or <i>revision level</i>. For example, the first version of a file might be version <i>1</i>. When the file is changed the next version is <i>2</i>. Each version is associated with a <a href="/wiki/Timestamp" title="Timestamp">timestamp</a> and the person making the change. Revisions can be compared, restored, and, with some types of files, merged.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=2" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Comparison_of_version_control_software#History_and_adoption" class="mw-redirect" title="Comparison of version control software">Comparison of version control software § History and adoption</a></div> <p>IBM's OS/360 <a href="/wiki/Support_programs_for_OS/360_and_successors#IEBUPDTE" title="Support programs for OS/360 and successors">IEBUPDTE</a> software update tool dates back to 1962, arguably a precursor to version control system tools. Two source management and version control packages that were heavily used by IBM 360/370 installations were <a href="/wiki/The_Librarian_(version_control_system)" title="The Librarian (version control system)">The Librarian</a> and <a href="/wiki/Panvalet" title="Panvalet">Panvalet</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>A full system designed for source code control was started in 1972: the <a href="/wiki/Source_Code_Control_System" title="Source Code Control System">Source Code Control System</a> (SCCS), again for OS/360. SCCS's user manual, especially the introduction, having been published on December 4, 1975, implied that it was the first deliberate revision control system.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> The <a href="/wiki/Revision_Control_System" title="Revision Control System">Revision Control System</a> (RCS) followed in 1982<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> and, later, <a href="/wiki/Concurrent_Versions_System" title="Concurrent Versions System">Concurrent Versions System</a> (CVS) added network and concurrent development features to RCS. After CVS, a dominant successor was <a href="/wiki/Apache_Subversion" title="Apache Subversion">Subversion</a>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> followed by the rise of <a href="/wiki/Distributed_revision_control" class="mw-redirect" title="Distributed revision control">distributed revision control</a> tools such as <a href="/wiki/Git" title="Git">Git</a>.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Structure">Structure</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=3" title="Edit section: Structure"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Revision control manages changes to a set of data over time. These changes can be structured in various ways. </p><p>Often the data is thought of as a collection of many individual items, such as files or documents, and changes to individual files are tracked. This accords with intuitions about separate files but causes problems when identity changes, such as during renaming, splitting or merging of files. Accordingly, some systems such as <a href="/wiki/Git" title="Git">Git</a>, instead consider changes to the data as a whole, which is less intuitive for simple changes but simplifies more complex changes. </p><p>When data that is under revision control is modified, after being retrieved by <i>checking out,</i> this is not in general immediately reflected in the revision control system (in the <i>repository</i>), but must instead be <i>checked in</i> or <i>committed.</i> A copy outside revision control is known as a "working copy". As a simple example, when editing a computer file, the data stored in memory by the editing program is the working copy, which is committed by saving. Concretely, one may print out a document, edit it by hand, and only later manually input the changes into a computer and save it. For source code control, the working copy is instead a copy of all files in a particular revision, generally stored locally on the developer's computer;<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>note 1<span class="cite-bracket">]</span></a></sup> in this case saving the file only changes the working copy, and checking into the repository is a separate step. </p><p>If multiple people are working on a single data set or document, they are implicitly creating branches of the data (in their working copies), and thus issues of merging arise, as discussed below. For simple collaborative document editing, this can be prevented by using <a href="/wiki/File_locking" title="File locking">file locking</a> or simply avoiding working on the same document that someone else is working on. </p><p>Revision control systems are often centralized, with a single authoritative data store, the <i>repository,</i> and check-outs and check-ins done with reference to this central repository. Alternatively, in <a href="/wiki/Distributed_revision_control" class="mw-redirect" title="Distributed revision control">distributed revision control</a>, no single repository is authoritative, and data can be checked out and checked into any repository. When checking into a different repository, this is interpreted as a merge or patch. </p> <div class="mw-heading mw-heading3"><h3 id="Graph_structure">Graph structure</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=4" title="Edit section: Graph structure"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Revision_controlled_project_visualization-2010-24-02.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/170px-Revision_controlled_project_visualization-2010-24-02.svg.png" decoding="async" width="170" height="417" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/255px-Revision_controlled_project_visualization-2010-24-02.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/340px-Revision_controlled_project_visualization-2010-24-02.svg.png 2x" data-file-width="220" data-file-height="540" /></a><figcaption>Example history graph of a revision-controlled project; trunk is in green, branches in yellow, and graph is not a tree due to presence of merges (the red arrows).</figcaption></figure> <p>In terms of <a href="/wiki/Graph_theory" title="Graph theory">graph theory</a>, revisions are generally thought of as a line of development (the <i>trunk</i>) with branches off of this, forming a directed tree, visualized as one or more parallel lines of development (the "mainlines" of the branches) branching off a trunk. In reality the structure is more complicated, forming a <a href="/wiki/Directed_acyclic_graph" title="Directed acyclic graph">directed acyclic graph</a>, but for many purposes "tree with merges" is an adequate approximation. </p><p>Revisions occur in sequence over time, and thus can be arranged in order, either by revision number or timestamp.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>note 2<span class="cite-bracket">]</span></a></sup> Revisions are based on past revisions, though it is possible to largely or completely replace an earlier revision, such as "delete all existing text, insert new text". In the simplest case, with no branching or undoing, each revision is based on its immediate predecessor alone, and they form a simple line, with a single latest version, the "HEAD" revision or <i>tip</i>. In <a href="/wiki/Graph_theory" title="Graph theory">graph theory</a> terms, drawing each revision as a point and each "derived revision" relationship as an arrow (conventionally pointing from older to newer, in the same direction as time), this is a <a href="/wiki/Linear_graph" class="mw-redirect" title="Linear graph">linear graph</a>. If there is branching, so multiple future revisions are based on a past revision, or undoing, so a revision can depend on a revision older than its immediate predecessor, then the resulting graph is instead a <a href="/wiki/Directed_tree" class="mw-redirect" title="Directed tree">directed tree</a> (each node can have more than one child), and has multiple tips, corresponding to the revisions without children ("latest revision on each branch").<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>note 3<span class="cite-bracket">]</span></a></sup> In principle the resulting tree need not have a preferred tip ("main" latest revision) – just various different revisions – but in practice one tip is generally identified as HEAD. When a new revision is based on HEAD, it is either identified as the new HEAD, or considered a new branch.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>note 4<span class="cite-bracket">]</span></a></sup> The list of revisions from the start to HEAD (in graph theory terms, the unique path in the tree, which forms a linear graph as before) is the <i>trunk</i> or <i>mainline.</i><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>note 5<span class="cite-bracket">]</span></a></sup> Conversely, when a revision can be based on more than one previous revision (when a node can have more than one <i>parent</i>), the resulting process is called a <i><a href="/wiki/Merge_(revision_control)" class="mw-redirect" title="Merge (revision control)">merge</a>,</i> and is one of the most complex aspects of revision control. This most often occurs when changes occur in multiple branches (most often two, but more are possible), which are then merged into a single branch incorporating both changes. If these changes overlap, it may be difficult or impossible to merge, and require manual intervention or rewriting. </p><p>In the presence of merges, the resulting graph is no longer a tree, as nodes can have multiple parents, but is instead a rooted <a href="/wiki/Directed_acyclic_graph" title="Directed acyclic graph">directed acyclic graph</a> (DAG). The graph is acyclic since parents are always backwards in time, and rooted because there is an oldest version. Assuming there is a trunk, merges from branches can be considered as "external" to the tree – the changes in the branch are packaged up as a <i>patch,</i> which is applied to HEAD (of the trunk), creating a new revision without any explicit reference to the branch, and preserving the tree structure. Thus, while the actual relations between versions form a DAG, this can be considered a tree plus merges, and the trunk itself is a line. </p><p>In distributed revision control, in the presence of multiple repositories these may be based on a single original version (a root of the tree), but there need not be an original root - instead there can be a separate root (oldest revision) for each repository. This can happen, for example, if two people start working on a project separately. Similarly, in the presence of multiple data sets (multiple projects) that exchange data or merge, there is no single root, though for simplicity one may think of one project as primary and the other as secondary, merged into the first with or without its own revision history. </p> <div class="mw-heading mw-heading2"><h2 id="Specialized_strategies">Specialized strategies</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=5" title="Edit section: Specialized strategies"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Engineering revision control developed from formalized processes based on tracking revisions of early blueprints or <a href="/wiki/Whiteprint" title="Whiteprint">bluelines</a><sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="The rest of this paragraph is fairly specific; it sounds almost like it should've been part of an elder engineering book, any sources? (December 2017)">citation needed</span></a></i>]</sup>. This system of control implicitly allowed returning to an earlier state of the design, for cases in which an engineering dead-end was reached in the development of the design. A revision table was used to keep track of the changes made. Additionally, the modified areas of the drawing were highlighted using revision clouds. </p> <div class="mw-heading mw-heading3"><h3 id="In_Business_and_Law">In Business and Law</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=6" title="Edit section: In Business and Law"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Version control is widespread in business and law. Indeed, "contract redline" and "legal blackline" are some of the earliest forms of revision control,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and are still employed in business and law with varying degrees of sophistication. The most sophisticated techniques are beginning to be used for the electronic tracking of changes to <a href="/wiki/CAD_file" class="mw-redirect" title="CAD file">CAD files</a> (see <a href="/wiki/Product_data_management" title="Product data management">product data management</a>), supplanting the "manual" electronic implementation of traditional revision control.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (November 2016)">citation needed</span></a></i>]</sup> </p> <div class="mw-heading mw-heading2"><h2 id="Source-management_models">Source-management models</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=7" title="Edit section: Source-management models"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Traditional revision control systems use a centralized model where all the revision control functions take place on a shared <a href="/wiki/Server_(computing)" title="Server (computing)">server</a>. If two developers try to change the same file at the same time, without some method of managing access the developers may end up overwriting each other's work. Centralized revision control systems solve this problem in one of two different "source management models": file locking and version merging. </p> <div class="mw-heading mw-heading3"><h3 id="Atomic_operations">Atomic operations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=8" title="Edit section: Atomic operations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Atomic_commit" title="Atomic commit">Atomic commit</a></div> <p>An operation is <i>atomic</i> if the system is left in a consistent state even if the operation is interrupted. The <i>commit</i> operation is usually the most critical in this sense. Commits tell the revision control system to make a group of changes final, and available to all users. Not all revision control systems have atomic commits; Concurrent Versions System lacks this feature.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="File_locking">File locking</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=9" title="Edit section: File locking"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The simplest method of preventing "<a href="/wiki/Concurrent_access" class="mw-redirect" title="Concurrent access">concurrent access</a>" problems involves <a href="/wiki/File_locking" title="File locking">locking files</a> so that only one developer at a time has write access to the central "<a href="/wiki/Repository_(version_control)" title="Repository (version control)">repository</a>" copies of those files. Once one developer "checks out" a file, others can read that file, but no one else may change that file until that developer "checks in" the updated version (or cancels the checkout). </p><p>File locking has both merits and drawbacks. It can provide some protection against difficult merge conflicts when a user is making radical changes to many sections of a large file (or group of files). If the files are left exclusively locked for too long, other developers may be tempted to bypass the revision control software and change the files locally, forcing a difficult manual merge when the other changes are finally checked in. In a large organization, files can be left "checked out" and locked and forgotten about as developers move between projects - these tools may or may not make it easy to see who has a file checked out. </p> <div class="mw-heading mw-heading3"><h3 id="Version_merging">Version merging</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=10" title="Edit section: Version merging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Merge_(version_control)" title="Merge (version control)">Merge (version control)</a></div> <p>Most version control systems allow multiple developers to edit the same file at the same time. The first developer to "check in" changes to the central repository always succeeds. The system may provide facilities to <a href="/wiki/Merge_(revision_control)" class="mw-redirect" title="Merge (revision control)">merge</a> further changes into the central repository, and preserve the changes from the first developer when other developers check in. </p><p>Merging two files can be a very delicate operation, and usually possible only if the data structure is simple, as in <a href="/wiki/Text_file" title="Text file">text files</a>. The result of a merge of two <a href="/wiki/Image_file" class="mw-redirect" title="Image file">image files</a> might not result in an image file at all. The second developer checking in the code will need to take care with the merge, to make sure that the changes are compatible and that the merge operation does not introduce its own <a href="/wiki/Logic" title="Logic">logic</a> errors within the files. These problems limit the availability of automatic or semi-automatic merge operations mainly to simple text-based documents, unless a specific merge <a href="/wiki/Plug-in_(computing)" title="Plug-in (computing)">plugin</a> is available for the file types. </p><p>The concept of a <i>reserved edit</i> can provide an optional means to explicitly lock a file for exclusive write access, even when a merging capability exists. </p> <div class="mw-heading mw-heading3"><h3 id="Baselines,_labels_and_tags"><span id="Baselines.2C_labels_and_tags"></span>Baselines, labels and tags</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=11" title="Edit section: Baselines, labels and tags"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Most revision control tools will use only one of these similar terms (baseline, label, tag) to refer to the action of identifying a snapshot ("label the project") or the record of the snapshot ("try it with baseline <i>X</i>"). Typically only one of the terms <i>baseline</i>, <i>label</i>, or <i>tag</i> is used in documentation or discussion<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2010)">citation needed</span></a></i>]</sup>; they can be considered synonyms. </p><p>In most projects, some snapshots are more significant than others, such as those used to indicate published releases, branches, or milestones. </p><p>When both the term <i>baseline</i> and either of <i>label</i> or <i>tag</i> are used together in the same context, <i>label</i> and <i>tag</i> usually refer to the mechanism within the tool of identifying or making the record of the snapshot, and <i>baseline</i> indicates the increased significance of any given label or tag. </p><p>Most formal discussion of <a href="/wiki/Configuration_management" title="Configuration management">configuration management</a> uses the term <a href="/wiki/Baseline_(configuration_management)" title="Baseline (configuration management)"><i>baseline</i></a>. </p> <div class="mw-heading mw-heading2"><h2 id="Distributed_revision_control">Distributed revision control</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=12" title="Edit section: Distributed revision control"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Distributed_version_control" title="Distributed version control">Distributed version control</a></div> <p>Distributed revision control systems (DRCS) take a peer-to-peer approach, as opposed to the <a href="/wiki/Client%E2%80%93server_model" title="Client–server model">client–server</a> approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a <a href="/wiki/Good_faith" title="Good faith">bona-fide</a> repository.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> Distributed revision control conducts synchronization by exchanging <a href="/wiki/Patch_(computing)" title="Patch (computing)">patches</a> (change-sets) from peer to peer. This results in some important differences from a centralized system: </p> <ul><li>No canonical, reference copy of the codebase exists by default; only working copies.</li> <li>Common operations (such as commits, viewing history, and reverting changes) are fast, because there is no need to communicate with a central server.<sup id="cite_ref-Mercurial_1-1" class="reference"><a href="#cite_note-Mercurial-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 7">: 7 </span></sup></li></ul> <p>Rather, communication is only necessary when pushing or pulling changes to or from other peers. </p> <ul><li>Each working copy effectively functions as a remote backup of the codebase and of its change-history, providing inherent protection against data loss.<sup id="cite_ref-Mercurial_1-2" class="reference"><a href="#cite_note-Mercurial-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page / location: 4">: 4 </span></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Best_practices">Best practices</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=13" title="Edit section: Best practices"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Following best practices is necessary to obtain the full benefits of version control. Best practice may vary by version control tool and the field to which version control is applied. The generally accepted best practices in <a href="/wiki/Software_development" title="Software development">software development</a> include: making incremental, small, changes; making <a href="/wiki/Commit_(version_control)" title="Commit (version control)">commits</a> which involve only one task or fix -- a corollary to this is to commit only code which works and does not knowingly break existing functionality; utilizing branching to complete functionality before release; writing clear and descriptive commit messages, make what why and how clear in either the commit description or the code; and using a consistent branching strategy.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Other best software development practices such as <a href="/wiki/Code_review" title="Code review">code review</a> and automated <a href="/wiki/Regression_testing" title="Regression testing">regression testing</a> may assist in the following of version control best practices. </p> <div class="mw-heading mw-heading2"><h2 id="Costs_and_benefits">Costs and benefits</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=14" title="Edit section: Costs and benefits"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Costs and benefits will vary dependent upon the version control tool chosen and the field in which it is applied. This section speaks to the field of software development, where version control is widely applied. </p> <div class="mw-heading mw-heading3"><h3 id="Costs">Costs</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=15" title="Edit section: Costs"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In addition to the costs of licensing the version control software, using version control requires time and effort. The concepts underlying version control must be understood and the technical particulars required to operate the version control software chosen must be learned. Version control best practices must be learned and integrated into the organization's existing software development practices. Management effort may be required to maintain the discipline needed to follow best practices in order to obtain useful benefit. </p> <div class="mw-heading mw-heading3"><h3 id="Benefits">Benefits</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=16" title="Edit section: Benefits"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Allows_for_reverting_changes">Allows for reverting changes</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=17" title="Edit section: Allows for reverting changes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A core benefit is the ability to keep history and revert changes, allowing the developer to easily undo changes. This gives the developer more opportunity to experiment, eliminating the fear of breaking existing code.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Branching_simplifies_deployment,_maintenance_and_development"><span id="Branching_simplifies_deployment.2C_maintenance_and_development"></span>Branching simplifies deployment, maintenance and development</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=18" title="Edit section: Branching simplifies deployment, maintenance and development"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Branching assists with deployment. Branching and merging, the production, packaging, and labeling of source code <a href="/wiki/Patch_(computing)" title="Patch (computing)">patches</a> and the easy application of patches to code bases, simplifies the maintenance and concurrent development of the multiple code bases associated with the various stages of the deployment process; development, testing, staging, production, etc.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Damage_mitigation,_accountability_and_process_and_design_improvement"><span id="Damage_mitigation.2C_accountability_and_process_and_design_improvement"></span>Damage mitigation, accountability and process and design improvement</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=19" title="Edit section: Damage mitigation, accountability and process and design improvement"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There can be damage mitigation, accountability, process and design improvement, and other benefits associated with the record keeping provided by version control, the tracking of who did what, when, why, and how.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>When bugs arise, knowing what was done when helps with damage mitigation and recovery by assisting in the identification of what problems exist, how long they have existed, and determining problem scope and solutions.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> Previous versions can be installed and tested to verify conclusions reached by examination of code and commit messages.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Simplifies_debugging">Simplifies debugging</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=20" title="Edit section: Simplifies debugging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Version control can greatly simplify debugging. The application of a test case to multiple versions can quickly identify the change which introduced a bug.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> The developer need not be familiar with the entire code base and can focus instead on the code that introduced the problem. </p> <div class="mw-heading mw-heading4"><h4 id="Improves_collaboration_and_communication">Improves collaboration and communication</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=21" title="Edit section: Improves collaboration and communication"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Version control enhances collaboration in multiple ways. Since version control can identify conflicting changes, i.e. incompatible changes made to the same lines of code, there is less need for coordination among developers.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p><p>The packaging of commits, branches, and all the associated commit messages and version labels, improves communication between developers, both in the moment and over time.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> Better communication, whether instant or deferred, can improve the code review process, the testing process, and other critical aspects of the software development process. </p> <div class="mw-heading mw-heading2"><h2 id="Integration">Integration</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=22" title="Edit section: Integration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some of the more advanced revision-control tools offer many other facilities, allowing deeper integration with other tools and software-engineering processes. </p> <div class="mw-heading mw-heading3"><h3 id="Integrated_development_environment">Integrated development environment</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=23" title="Edit section: Integrated development environment"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Plug-in_(computing)" title="Plug-in (computing)">Plugins</a> are often available for <a href="/wiki/Integrated_development_environment" title="Integrated development environment">IDEs</a> such as <a href="/wiki/Oracle_JDeveloper" class="mw-redirect" title="Oracle JDeveloper">Oracle JDeveloper</a>, <a href="/wiki/IntelliJ_IDEA" title="IntelliJ IDEA">IntelliJ IDEA</a>, <a href="/wiki/Eclipse_(computing)" class="mw-redirect" title="Eclipse (computing)">Eclipse</a>, <a href="/wiki/Visual_Studio" title="Visual Studio">Visual Studio</a>, <a href="/wiki/Delphi_(programming_language)" class="mw-redirect" title="Delphi (programming language)">Delphi</a>, <a href="/wiki/NetBeans" title="NetBeans">NetBeans IDE</a>, <a href="/wiki/Xcode" title="Xcode">Xcode</a>, and <a href="/wiki/GNU_Emacs" title="GNU Emacs">GNU Emacs</a> (via vc.el). Advanced research prototypes generate appropriate commit messages.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Common_terminology">Common terminology</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=24" title="Edit section: Common terminology"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Terminology can vary from system to system, but some terms in common usage include:<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Baseline">Baseline</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=25" title="Edit section: Baseline"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Baseline_(configuration_management)" title="Baseline (configuration management)">Baseline (configuration management)</a></div> <p>An approved revision of a document or source file to which subsequent changes can be made. See <a href="#Baselines,_labels_and_tags">baselines, labels and tags</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Blame">Blame</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=26" title="Edit section: Blame"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A search for the author and revision that last modified a particular line. </p> <div class="mw-heading mw-heading3"><h3 id="Branch">Branch</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=27" title="Edit section: Branch"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Branching_(revision_control)" class="mw-redirect" title="Branching (revision control)">Branching (revision control)</a></div> <p>A set of files under version control may be <i>branched</i> or <i>forked</i> at a point in time so that, from that time forward, two copies of those files may develop at different speeds or in different ways independently of each other. </p> <div class="mw-heading mw-heading3"><h3 id="Change">Change</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=28" title="Edit section: Change"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <i>change</i> (or <i><a href="/wiki/Diff" title="Diff">diff</a></i>, or <i><a href="/wiki/Delta_encoding" title="Delta encoding">delta</a></i>) represents a specific modification to a document under version control. The granularity of the modification considered a change varies between version control systems. </p> <div class="mw-heading mw-heading3"><h3 id="Change_list">Change list</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=29" title="Edit section: Change list"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>On many version control systems with <a href="/wiki/Atomic_transaction" class="mw-redirect" title="Atomic transaction">atomic</a> multi-change commits, a <i>change list</i> (or <i>CL</i>), <i>change set</i>, <i>update</i>, or <i><a href="/wiki/Patch_(computing)" title="Patch (computing)">patch</a></i> identifies the set of <i>changes</i> made in a single commit. This can also represent a sequential view of the source code, allowing the examination of source as of any particular changelist ID. </p> <div class="mw-heading mw-heading3"><h3 id="Checkout">Checkout</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=30" title="Edit section: Checkout"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To <i>check out</i> (or <i>co</i>) is to create a local working copy from the repository. A user may specify a specific revision or obtain the latest. The term 'checkout' can also be used as a noun to describe the working copy. When a file has been checked out from a shared file server, it cannot be edited by other users. Think of it like a hotel, when you check out, you no longer have access to its amenities. </p> <div class="mw-heading mw-heading3"><h3 id="Clone">Clone</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=31" title="Edit section: Clone"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Cloning</i> means creating a repository containing the revisions from another repository. This is equivalent to <i>push</i>ing or <i>pull</i>ing into an empty (newly initialized) repository. As a noun, two repositories can be said to be <i>clone</i>s if they are kept synchronized, and contain the same revisions. </p> <div class="mw-heading mw-heading3"><h3 id="Commit_(noun)"><span id="Commit_.28noun.29"></span>Commit (noun)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=32" title="Edit section: Commit (noun)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="excerpt-block"><style data-mw-deduplicate="TemplateStyles:r1066933788">.mw-parser-output .excerpt-hat .mw-editsection-like{font-style:normal}</style><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable dablink excerpt-hat selfref">This section is an excerpt from <a href="/wiki/Changeset" title="Changeset">Changeset</a>.<span class="mw-editsection-like plainlinks"><span class="mw-editsection-bracket">[</span><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Changeset&action=edit">edit</a><span class="mw-editsection-bracket">]</span></span></div><div class="excerpt"> In version control software, a <a href="/wiki/Changeset" title="Changeset">changeset</a> (also known as commit<sup id="cite_ref-Changeset_gitglossary-changeset_29-0" class="reference"><a href="#cite_note-Changeset_gitglossary-changeset-29"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and revision<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>) is a set of alterations packaged together, along with meta-information about the alterations. A changeset describes the exact differences between two successive versions in the version control system's repository of changes. Changesets are typically treated as an <a href="/wiki/Atomicity_(database_systems)" title="Atomicity (database systems)">atomic</a> unit, an indivisible set, by version control systems. This is one <a href="/wiki/Synchronization_model" title="Synchronization model">synchronization model</a>.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></div></div> <div class="mw-heading mw-heading3"><h3 id="Commit_(verb)"><span id="Commit_.28verb.29"></span>Commit (verb)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=33" title="Edit section: Commit (verb)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Commit_(revision_control)" class="mw-redirect" title="Commit (revision control)">Commit (revision control)</a></div> <p>To <i><a href="/wiki/Commit_(revision_control)" class="mw-redirect" title="Commit (revision control)">commit</a></i> (<i>check in</i>, <i>ci</i> or, more rarely, <i>install</i>, <i>submit</i> or <i>record</i>) is to write or merge the changes made in the working copy back to the repository. A commit contains metadata, typically the author information and a commit message that describes the change. </p> <div class="mw-heading mw-heading3"><h3 id="Commit_message">Commit message</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=34" title="Edit section: Commit message"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A short note, written by the developer, stored with the commit, which describes the commit. Ideally, it records why the modification was made, a description of the modification's effect or purpose, and non-obvious aspects of how the change works. </p> <div class="mw-heading mw-heading3"><h3 id="Conflict">Conflict</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=35" title="Edit section: Conflict"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A conflict occurs when different parties make changes to the same document, and the system is unable to reconcile the changes. A user must <i>resolve</i> the conflict by combining the changes, or by selecting one change in favour of the other. </p> <div class="mw-heading mw-heading3"><h3 id="Delta_compression">Delta compression</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=36" title="Edit section: Delta compression"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Delta_compression" class="mw-redirect" title="Delta compression">Delta compression</a></div> <p>Most revision control software uses <a href="/wiki/Delta_compression" class="mw-redirect" title="Delta compression">delta compression</a>, which retains only the differences between successive versions of files. This allows for more efficient storage of many different versions of files. </p> <div class="mw-heading mw-heading3"><h3 id="Dynamic_stream">Dynamic stream</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=37" title="Edit section: Dynamic stream"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A stream in which some or all file versions are mirrors of the parent stream's versions. </p> <div class="mw-heading mw-heading3"><h3 id="Export">Export</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=38" title="Edit section: Export"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Exporting</i> is the act of obtaining the files from the repository. It is similar to <i>checking out</i> except that it creates a clean directory tree without the version-control metadata used in a working copy. This is often used prior to publishing the contents, for example. </p> <div class="mw-heading mw-heading3"><h3 id="Fetch">Fetch</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=39" title="Edit section: Fetch"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>See <i>pull</i>. </p> <div class="mw-heading mw-heading3"><h3 id="Forward_integration">Forward integration</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=40" title="Edit section: Forward integration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The process of merging changes made in the main <i>trunk</i> into a development (feature or team) branch. </p> <div class="mw-heading mw-heading3"><h3 id="Head">Head</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=41" title="Edit section: Head"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Also sometimes called <i>tip</i>, this refers to the most recent commit, either to the trunk or to a branch. The trunk and each branch have their own head, though HEAD is sometimes loosely used to refer to the trunk.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Import">Import</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=42" title="Edit section: Import"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Importing</i> is the act of copying a local directory tree (that is not currently a working copy) into the repository for the first time. </p> <div class="mw-heading mw-heading3"><h3 id="Initialize">Initialize</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=43" title="Edit section: Initialize"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To create a new, empty repository. </p> <div class="mw-heading mw-heading3"><h3 id="Interleaved_deltas">Interleaved deltas</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=44" title="Edit section: Interleaved deltas"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some revision control software uses <a href="/wiki/Interleaved_deltas" title="Interleaved deltas">Interleaved deltas</a>, a method that allows storing the history of text based files in a more efficient way than by using <a href="/wiki/Delta_compression" class="mw-redirect" title="Delta compression">Delta compression</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Label">Label</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=45" title="Edit section: Label"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>See <i>tag</i>. </p> <div class="mw-heading mw-heading3"><h3 id="Locking">Locking</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=46" title="Edit section: Locking"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/File_locking" title="File locking">File locking</a></div> <p>When a developer <i><a href="/wiki/File_locking" title="File locking">locks</a></i> a file, no one else can update that file until it is unlocked. Locking can be supported by the version control system, or via informal communications between developers (aka <i>social locking</i>). </p> <div class="mw-heading mw-heading3"><h3 id="Mainline">Mainline</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=47" title="Edit section: Mainline"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Similar to <i>trunk</i>, but there can be a mainline for each branch. </p> <div class="mw-heading mw-heading3"><h3 id="Merge">Merge</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=48" title="Edit section: Merge"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Merge_(revision_control)" class="mw-redirect" title="Merge (revision control)">Merge (revision control)</a></div> <p>A <i>merge</i> or <i>integration</i> is an operation in which two sets of changes are applied to a file or set of files. Some sample scenarios are as follows: </p> <ul><li>A user, working on a set of files, <i>updates</i> or <i>syncs</i> their working copy with changes made, and checked into the repository, by other users.<sup id="cite_ref-FOOTNOTECollins-SussmanFitzpatrickPilato2004[httpsvnbookred-beancomen15svntourcyclehtmlsvntourcycleresolve_1.5:_SVN_tour_cycle_resolve]_35-0" class="reference"><a href="#cite_note-FOOTNOTECollins-SussmanFitzpatrickPilato2004[httpsvnbookred-beancomen15svntourcyclehtmlsvntourcycleresolve_1.5:_SVN_tour_cycle_resolve]-35"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup></li> <li>A user tries to <i>check in</i> files that have been updated by others since the files were <i>checked out</i>, and the <i>revision control software</i> automatically merges the files (typically, after prompting the user if it should proceed with the automatic merge, and in some cases only doing so if the merge can be clearly and reasonably resolved).</li> <li>A <i>branch</i> is created, the code in the files is independently edited, and the updated branch is later incorporated into a single, unified <i>trunk</i>.</li> <li>A set of files is <i>branched</i>, a problem that existed before the branching is fixed in one branch, and the fix is then merged into the other branch. (This type of selective merge is sometimes known as a <i>cherry pick</i> to distinguish it from the complete merge in the previous case.)</li></ul> <div class="mw-heading mw-heading3"><h3 id="Promote">Promote</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=49" title="Edit section: Promote"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The act of copying file content from a less controlled location into a more controlled location. For example, from a user's workspace into a repository, or from a stream to its parent.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Pull,_push"><span id="Pull.2C_push"></span>Pull, push</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=50" title="Edit section: Pull, push"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Copy revisions from one repository into another. <i>Pull</i> is initiated by the receiving repository, while <i>push</i> is initiated by the source. <i>Fetch</i> is sometimes used as a synonym for <i>pull</i>, or to mean a <i>pull</i> followed by an <i>update</i>. </p> <div class="mw-heading mw-heading3"><h3 id="Pull_request">Pull request</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=51" title="Edit section: Pull request"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="excerpt-block"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1066933788"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable dablink excerpt-hat selfref">This section is an excerpt from <a href="/wiki/Distributed_version_control#Pull_requests" title="Distributed version control">Distributed version control § Pull requests</a>.<span class="mw-editsection-like plainlinks"><span class="mw-editsection-bracket">[</span><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Distributed_version_control&action=edit">edit</a><span class="mw-editsection-bracket">]</span></span></div><div class="excerpt"> <p>Contributions to a source code repository that uses a distributed version control system are commonly made by means of a pull request, also known as a merge request.<sup id="cite_ref-Distributed_version_control_gitlab-merge-req_37-0" class="reference"><a href="#cite_note-Distributed_version_control_gitlab-merge-req-37"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> The contributor requests that the project maintainer <i>pull</i> the source code change, hence the name "pull request". The maintainer has to <i>merge</i> the pull request if the contribution should become part of the source base.<sup id="cite_ref-Distributed_version_control_ossw_38-0" class="reference"><a href="#cite_note-Distributed_version_control_ossw-38"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> </p><p>The developer creates a pull request to notify maintainers of a new change; a comment thread is associated with each pull request. This allows for <a href="/wiki/Code_review" title="Code review">focused discussion of code changes</a>. Submitted pull requests are visible to anyone with repository access. A pull request can be accepted or rejected by maintainers.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> </p> Once the pull request is reviewed and approved, it is merged into the repository. Depending on the established workflow, the code may need to be tested before being included into official release. Therefore, some projects contain a special branch for merging untested pull requests.<sup id="cite_ref-Distributed_version_control_ossw_38-1" class="reference"><a href="#cite_note-Distributed_version_control_ossw-38"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> Other projects run an automated test suite on every pull request, using a <a href="/wiki/Continuous_integration" title="Continuous integration">continuous integration</a> tool, and the reviewer checks that any new code has appropriate test coverage.</div></div> <div class="mw-heading mw-heading3"><h3 id="Repository">Repository</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=52" title="Edit section: Repository"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="excerpt-block"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1066933788"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable dablink excerpt-hat selfref">This section is an excerpt from <a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository (version control)</a>.<span class="mw-editsection-like plainlinks"><span class="mw-editsection-bracket">[</span><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Repository_(version_control)&action=edit">edit</a><span class="mw-editsection-bracket">]</span></span></div><div class="excerpt"> In version control systems, a <a href="/wiki/Repository_(version_control)" title="Repository (version control)">repository</a> is a data structure that stores <a href="/wiki/Metadata" title="Metadata">metadata</a> for a set of files or <a href="/wiki/Directory_structure" title="Directory structure">directory structure</a>.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> Depending on whether the version control system in use is distributed, like <a href="/wiki/Git" title="Git">Git</a> or <a href="/wiki/Mercurial" title="Mercurial">Mercurial</a>, or centralized, like <a href="/wiki/Apache_Subversion" title="Apache Subversion">Subversion</a>, <a href="/wiki/Concurrent_Versions_System" title="Concurrent Versions System">CVS</a>, or <a href="/wiki/Perforce" title="Perforce">Perforce</a>, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single <a href="/wiki/Server_(computing)" title="Server (computing)">server</a>.<sup id="cite_ref-Repository_(version_control)_Ernst-2018_42-0" class="reference"><a href="#cite_note-Repository_(version_control)_Ernst-2018-42"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> Some of the metadata that a repository contains includes, among other things, a historical record of changes in the repository, a set of commit objects, and a set of references to commit objects, called <i>heads</i>.</div></div> <div class="mw-heading mw-heading3"><h3 id="Resolve">Resolve</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=53" title="Edit section: Resolve"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The act of user intervention to address a conflict between different changes to the same document. </p> <div class="mw-heading mw-heading3"><h3 id="Reverse_integration">Reverse integration</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=54" title="Edit section: Reverse integration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The process of merging different team branches into the main trunk of the versioning system. </p> <div class="mw-heading mw-heading3"><h3 id="Revision_and_version">Revision and version</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=55" title="Edit section: Revision and version"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <a href="/wiki/Software_versioning" title="Software versioning">version</a> is any change in form. In SVK, a Revision is the state at a point in time of the entire tree in the repository. </p> <div class="mw-heading mw-heading3"><h3 id="Share">Share</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=56" title="Edit section: Share"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The act of making one file or folder available in multiple branches at the same time. When a shared file is changed in one branch, it is changed in other branches. </p> <div class="mw-heading mw-heading3"><h3 id="Stream">Stream</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=57" title="Edit section: Stream"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A container for branched files that has a known relationship to other such containers. Streams form a hierarchy; each stream can inherit various properties (like versions, namespace, workflow rules, subscribers, etc.) from its parent stream. </p> <div class="mw-heading mw-heading3"><h3 id="Tag">Tag</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=58" title="Edit section: Tag"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Revision_tag" title="Revision tag">Revision tag</a></div><p> A <i><a href="/wiki/Revision_tag" title="Revision tag">tag</a></i> or <i>label</i> refers to an important snapshot in time, consistent across many files. These files at that point may all be tagged with a user-friendly, meaningful name or revision number. See <a href="#Baselines,_labels_and_tags">baselines, labels and tags</a>. </p><div class="mw-heading mw-heading3"><h3 id="Trunk">Trunk</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=59" title="Edit section: Trunk"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Trunk_(software)" class="mw-redirect" title="Trunk (software)">Trunk (software)</a></div> <p>The <a href="/wiki/Trunk_(software)" class="mw-redirect" title="Trunk (software)">trunk</a> is the unique line of development that is not a branch (sometimes also called Baseline, Mainline or Master<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup>) </p> <div class="mw-heading mw-heading3"><h3 id="Update">Update</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=60" title="Edit section: Update"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>An <i>update</i> (or <i>sync</i>, but <i>sync</i> can also mean a combined <i>push</i> and <i>pull</i>) merges changes made in the repository (by other people, for example) into the local <i>working copy</i>. <i>Update</i> is also the term used by some CM tools (CM+, PLS, SMS) for the change package concept (see <i>changelist</i>). Synonymous with <i>checkout</i> in revision control systems that require each repository to have exactly one working copy (common in distributed systems) </p> <div class="mw-heading mw-heading3"><h3 id="Unlocking">Unlocking</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=61" title="Edit section: Unlocking"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Releasing a lock. </p> <div class="mw-heading mw-heading3"><h3 id="Working_copy">Working copy</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=62" title="Edit section: Working copy"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The <i>working copy</i> is the local copy of files from a repository, at a specific time or revision. All work done to the files in a repository is initially done on a working copy, hence the name. Conceptually, it is a <i><a href="/wiki/Sandbox_(software_development)" title="Sandbox (software development)">sandbox</a></i>. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=63" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 30em;"> <ul><li><a href="/wiki/Change_control" title="Change control">Change control</a></li> <li><a href="/wiki/Changelog" title="Changelog">Changelog</a></li> <li><a href="/wiki/Blockchain" title="Blockchain">Blockchain</a></li> <li><a href="/wiki/Comparison_of_version-control_software" title="Comparison of version-control software">Comparison of version-control software</a></li> <li><a href="/wiki/Comparison_of_source-code-hosting_facilities" title="Comparison of source-code-hosting facilities">Comparison of source-code-hosting facilities</a></li> <li><a href="/wiki/Data_version_control" title="Data version control">Data version control</a></li> <li><a href="/wiki/Distributed_version_control" title="Distributed version control">Distributed version control</a></li> <li><a href="/wiki/List_of_version-control_software" title="List of version-control software">List of version-control software</a></li> <li><a href="/wiki/Non-linear_editing" title="Non-linear editing">Non-linear editing</a></li> <li><a href="/wiki/Software_configuration_management" title="Software configuration management">Software configuration management</a></li> <li><a href="/wiki/Software_versioning" title="Software versioning">Software versioning</a></li> <li><a href="/wiki/Versioning_file_system" title="Versioning file system">Versioning file system</a></li></ul></div> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=64" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">In this case, edit buffers are a secondary form of working copy, and not referred to as such.</span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">In principle two revisions can have identical timestamp, and thus cannot be ordered on a line. This is generally the case for separate repositories, though is also possible for simultaneous changes to several branches in a single repository. In these cases, the revisions can be thought of as a set of separate lines, one per repository or branch (or branch within a repository).</span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">The revision or repository "tree" should not be confused with the directory tree of files in a working copy.</span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">If a new branch is based on HEAD, then topologically HEAD is no longer a tip, since it has a child.</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">"Mainline" can also refer to the main path in a separate branch.</span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=65" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-Mercurial-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-Mercurial_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Mercurial_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Mercurial_1-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFO'Sullivan2009" class="citation book cs1">O'Sullivan, Bryan (2009). <a rel="nofollow" class="external text" href="http://hgbook.red-bean.com/read/"><i>Mercurial: the Definitive Guide</i></a>. Sebastopol: O'Reilly Media, Inc. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-596-55547-4" title="Special:BookSources/978-0-596-55547-4"><bdi>978-0-596-55547-4</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191208075704/http://hgbook.red-bean.com/read/">Archived</a> from the original on 8 December 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">4 September</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Mercurial%3A+the+Definitive+Guide&rft.place=Sebastopol&rft.pub=O%27Reilly+Media%2C+Inc.&rft.date=2009&rft.isbn=978-0-596-55547-4&rft.aulast=O%27Sullivan&rft.aufirst=Bryan&rft_id=http%3A%2F%2Fhgbook.red-bean.com%2Fread%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2">"<a href="/wiki/Google_Docs" title="Google Docs">Google Docs</a>", <a rel="nofollow" class="external text" href="https://support.google.com/docs/answer/190843"><i>See what's changed in a file</i></a>, Google Inc., <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221006115757/http://support.google.com/docs/answer/190843">archived</a> from the original on 2022-10-06<span class="reference-accessdate">, retrieved <span class="nowrap">2021-04-21</span></span></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Google+Docs&rft.btitle=See+what%27s+changed+in+a+file&rft.pub=Google+Inc.&rft_id=https%3A%2F%2Fsupport.google.com%2Fdocs%2Fanswer%2F190843&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span>.</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFScottStraub2014" class="citation book cs1">Scott, Chacon; Straub, Ben (2014). <a rel="nofollow" class="external text" href="https://git-scm.com/book/en/v2"><i>Pro Git Second Edition</i></a>. United States: <a href="/wiki/Apress" class="mw-redirect" title="Apress">Apress</a>. p. 14. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151225223054/http://git-scm.com/book/en/v2">Archived</a> from the original on 2015-12-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-02-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Pro+Git+Second+Edition&rft.place=United+States&rft.pages=14&rft.pub=Apress&rft.date=2014&rft.aulast=Scott&rft.aufirst=Chacon&rft.au=Straub%2C+Ben&rft_id=https%3A%2F%2Fgit-scm.com%2Fbook%2Fen%2Fv2&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGoetz2002" class="citation interview cs1">Goetz, Martin (May 3, 2002). <a rel="nofollow" class="external text" href="https://conservancy.umn.edu/handle/11299/107328">"An Interview with Martin Goetz"</a> (Interview). Interviewed by Jeffrey R. Yost. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. <span class="nowrap">5–</span>7. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926164955/https://conservancy.umn.edu/items/0277706b-af0f-4a02-84d6-ff74b1d410aa">Archived</a> from the original on September 26, 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">August 17,</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=An+Interview+with+Martin+Goetz&rft.place=Washington%2C+D.C.&rft.pages=%3Cspan+class%3D%22nowrap%22%3E5-%3C%2Fspan%3E7&rft.pub=Charles+Babbage+Institute%2C+University+of+Minnesota&rft.date=2002-05-03&rft.aulast=Goetz&rft.aufirst=Martin&rft_id=https%3A%2F%2Fconservancy.umn.edu%2Fhandle%2F11299%2F107328&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPiscipo2002" class="citation interview cs1">Piscipo, Joseph (May 3, 2002). <a rel="nofollow" class="external text" href="https://conservancy.umn.edu/handle/11299/107601">"An Interview with Joseph Piscopo"</a> (Interview). Interviewed by Thomas Haigh. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. 3, 5, <span class="nowrap">12–</span>13. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926164956/https://conservancy.umn.edu/items/9e1d3842-5a3b-495f-ae5a-d6aa3baaf109">Archived</a> from the original on September 26, 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">August 17,</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=An+Interview+with+Joseph+Piscopo&rft.place=Washington%2C+D.C.&rft.pages=3%2C+5%2C+%3Cspan+class%3D%22nowrap%22%3E12-%3C%2Fspan%3E13&rft.pub=Charles+Babbage+Institute%2C+University+of+Minnesota&rft.date=2002-05-03&rft.aulast=Piscipo&rft.aufirst=Joseph&rft_id=https%3A%2F%2Fconservancy.umn.edu%2Fhandle%2F11299%2F107601&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRochkind1975" class="citation journal cs1">Rochkind, Marc J. (1975). <a rel="nofollow" class="external text" href="https://basepath.com/aup/talks/SCCS-Slideshow.pdf">"The Source Code Control System"</a> <span class="cs1-format">(PDF)</span>. <i>IEEE Transactions on Software Engineering</i>. <b>SE-1</b> (4): <span class="nowrap">364–</span>370. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTSE.1975.6312866">10.1109/TSE.1975.6312866</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:10006076">10006076</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=IEEE+Transactions+on+Software+Engineering&rft.atitle=The+Source+Code+Control+System&rft.volume=SE-1&rft.issue=4&rft.pages=%3Cspan+class%3D%22nowrap%22%3E364-%3C%2Fspan%3E370&rft.date=1975&rft_id=info%3Adoi%2F10.1109%2FTSE.1975.6312866&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A10006076%23id-name%3DS2CID&rft.aulast=Rochkind&rft.aufirst=Marc+J.&rft_id=https%3A%2F%2Fbasepath.com%2Faup%2Ftalks%2FSCCS-Slideshow.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTichy1985" class="citation journal cs1">Tichy, Walter F. (1985). <a rel="nofollow" class="external text" href="https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1393&context=cstech">"Rcs — a system for version control"</a>. <i>Software: Practice and Experience</i>. <b>15</b> (7): <span class="nowrap">637–</span>654. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.4380150703">10.1002/spe.4380150703</a>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0038-0644">0038-0644</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:2605086">2605086</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926164944/https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1393&context=cstech">Archived</a> from the original on 2024-09-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-12-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Software%3A+Practice+and+Experience&rft.atitle=Rcs+%E2%80%94+a+system+for+version+control&rft.volume=15&rft.issue=7&rft.pages=%3Cspan+class%3D%22nowrap%22%3E637-%3C%2Fspan%3E654&rft.date=1985&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A2605086%23id-name%3DS2CID&rft.issn=0038-0644&rft_id=info%3Adoi%2F10.1002%2Fspe.4380150703&rft.aulast=Tichy&rft.aufirst=Walter+F.&rft_id=https%3A%2F%2Fdocs.lib.purdue.edu%2Fcgi%2Fviewcontent.cgi%3Farticle%3D1393%26context%3Dcstech&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCollins-SussmanFitzpatrickPilato2004" class="citation cs2">Collins-Sussman, Ben; Fitzpatrick, BW; Pilato, CM (2004), <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/versioncontrolwi00coll"><i>Version Control with Subversion</i></a></span>, O'Reilly, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-596-00448-6" title="Special:BookSources/0-596-00448-6"><bdi>0-596-00448-6</bdi></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Version+Control+with+Subversion&rft.pub=O%27Reilly&rft.date=2004&rft.isbn=0-596-00448-6&rft.aulast=Collins-Sussman&rft.aufirst=Ben&rft.au=Fitzpatrick%2C+BW&rft.au=Pilato%2C+CM&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fversioncontrolwi00coll&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLoeligerMcCullough2012" class="citation book cs1">Loeliger, Jon; McCullough, Matthew (2012). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=qIucp61eqAwC"><i>Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development</i></a>. O'Reilly Media. pp. <span class="nowrap">2–</span>5. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-4493-4504-4" title="Special:BookSources/978-1-4493-4504-4"><bdi>978-1-4493-4504-4</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926164947/https://books.google.com/books?id=qIucp61eqAwC">Archived</a> from the original on 2024-09-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-03-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Version+Control+with+Git%3A+Powerful+Tools+and+Techniques+for+Collaborative+Software+Development&rft.pages=%3Cspan+class%3D%22nowrap%22%3E2-%3C%2Fspan%3E5&rft.pub=O%27Reilly+Media&rft.date=2012&rft.isbn=978-1-4493-4504-4&rft.aulast=Loeliger&rft.aufirst=Jon&rft.au=McCullough%2C+Matthew&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DqIucp61eqAwC&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">For Engineering drawings, see <a href="/wiki/Whiteprint#Document_control" title="Whiteprint">Whiteprint#Document control</a>, for some of the manual systems in place in the twentieth century, for example, the <i>Engineering Procedures</i> of <a href="/wiki/Hughes_Aircraft" class="mw-redirect" title="Hughes Aircraft">Hughes Aircraft</a>, each revision of which required approval by <a href="/wiki/Lawrence_A._Hyland" title="Lawrence A. Hyland">Lawrence A. Hyland</a>; see also the approval procedures instituted by the U.S. government.</span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSmart2008" class="citation book cs1">Smart, John Ferguson (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=YoTvBpKEx5EC&q=cvs+doesn%27t+support+atomic+commit&pg=PA301"><i>Java Power Tools</i></a>. "O'Reilly Media, Inc.". p. 301. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-4919-5454-6" title="Special:BookSources/978-1-4919-5454-6"><bdi>978-1-4919-5454-6</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926164948/https://books.google.com/books?id=YoTvBpKEx5EC&q=cvs+doesn%27t+support+atomic+commit&pg=PA301#v=snippet&q=cvs%20doesn't%20support%20atomic%20commit&f=false">Archived</a> from the original on 26 September 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">20 July</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Java+Power+Tools&rft.pages=301&rft.pub=%22O%27Reilly+Media%2C+Inc.%22&rft.date=2008&rft.isbn=978-1-4919-5454-6&rft.aulast=Smart&rft.aufirst=John+Ferguson&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DYoTvBpKEx5EC%26q%3Dcvs%2Bdoesn%2527t%2Bsupport%2Batomic%2Bcommit%26pg%3DPA301&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWheeler" class="citation web cs1">Wheeler, David. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20201109022758/http://www.dwheeler.com/essays/scm.html">"Comments on Open Source Software / Free Software (OSS/FS) Software Configuration Management (SCM) Systems"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.dwheeler.com/essays/scm.html">the original</a> on November 9, 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">May 8,</span> 2007</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Comments+on+Open+Source+Software+%2F+Free+Software+%28OSS%2FFS%29+Software+Configuration+Management+%28SCM%29+Systems&rft.aulast=Wheeler&rft.aufirst=David&rft_id=http%3A%2F%2Fwww.dwheeler.com%2Fessays%2Fscm.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGitLab" class="citation web cs1">GitLab. <a rel="nofollow" class="external text" href="https://about.gitlab.com/topics/version-control/version-control-best-practices/">"What are Git version control best practices?"</a>. <i>gitlab.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=gitlab.com&rft.atitle=What+are+Git+version+control+best+practices%3F&rft.au=GitLab&rft_id=https%3A%2F%2Fabout.gitlab.com%2Ftopics%2Fversion-control%2Fversion-control-best-practices%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAlessandro_Picarelli2020" class="citation web cs1">Alessandro Picarelli (2020-11-17). <a rel="nofollow" class="external text" href="https://www.claytex.com/tech-blog/the-cost-of-not-using-version-control/">"The cost of not using version control"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221119184145/https://www.claytex.com/tech-blog/the-cost-of-not-using-version-control/">Archived</a> from the original on 2022-11-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>In terms of man hours it's going to cost you 6 to 48 times what it would have cost you using version control, and that's for rewinding a couple of models for a single developer.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+cost+of+not+using+version+control&rft.date=2020-11-17&rft.au=Alessandro+Picarelli&rft_id=https%3A%2F%2Fwww.claytex.com%2Ftech-blog%2Fthe-cost-of-not-using-version-control%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIrma_Azarian2023" class="citation web cs1">Irma Azarian (2023-06-14). <a rel="nofollow" class="external text" href="https://www.seguetech.com/a-review-of-software-version-control-systems-benefits-and-why-it-matters/">"A Review of Software Version Control: Systems, Benefits, and Why it Matters"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926165505/https://www.seguetech.com/a-review-of-software-version-control-systems-benefits-and-why-it-matters/">Archived</a> from the original on 2024-09-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>Version control systems allow you to compare files, identify differences, and merge the changes if needed prior to committing any code. Versioning is also a great way to keep track of application builds by being able to identify which version is currently in development, QA, and production.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=A+Review+of+Software+Version+Control%3A+Systems%2C+Benefits%2C+and+Why+it+Matters&rft.date=2023-06-14&rft.au=Irma+Azarian&rft_id=https%3A%2F%2Fwww.seguetech.com%2Fa-review-of-software-version-control-systems-benefits-and-why-it-matters%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFReQtest2020" class="citation web cs1">ReQtest (2020-10-26). <a rel="nofollow" class="external text" href="https://reqtest.com/requirements-blog/what-are-benefits-of-version-control/">"What Are The Benefits Of Version Control?"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221122023907/https://reqtest.com/requirements-blog/what-are-benefits-of-version-control/">Archived</a> from the original on 2022-11-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-21</span></span>. <q>The history of the document provides invaluable information about the author and the date of editing. It also gives on the purpose of the changes made. It will have an impact on the developer that works on the latest version as it will help to solve problems experienced in earlier versions. The ability to identify the author of the document enables the current team to link the documents to specific contributors. This, in turn, enables the current team to uncover patterns that can help with fixing bugs. This will help to improve the overall functionality of the software.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=What+Are+The+Benefits+Of+Version+Control%3F&rft.date=2020-10-26&rft.au=ReQtest&rft_id=https%3A%2F%2Freqtest.com%2Frequirements-blog%2Fwhat-are-benefits-of-version-control%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChiradeep_BasuMallick2022" class="citation web cs1">Chiradeep BasuMallick (2022-10-06). <a rel="nofollow" class="external text" href="https://www.spiceworks.com/tech/devops/articles/what-is-version-control/">"What Is Version Control? Meaning, Tools, and Advantages"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221119184200/https://www.spiceworks.com/tech/devops/articles/what-is-version-control/">Archived</a> from the original on 2022-11-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>Software teams can understand the evolution of a solution by examining prior versions through code reviews.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=What+Is+Version+Control%3F+Meaning%2C+Tools%2C+and+Advantages&rft.date=2022-10-06&rft.au=Chiradeep+BasuMallick&rft_id=https%3A%2F%2Fwww.spiceworks.com%2Ftech%2Fdevops%2Farticles%2Fwhat-is-version-control%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChiradeep_BasuMallick2022" class="citation web cs1">Chiradeep BasuMallick (2022-10-06). <a rel="nofollow" class="external text" href="https://www.spiceworks.com/tech/devops/articles/what-is-version-control/">"What Is Version Control? Meaning, Tools, and Advantages"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221119184200/https://www.spiceworks.com/tech/devops/articles/what-is-version-control/">Archived</a> from the original on 2022-11-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>If an error is made, developers can go back in time and review prior iterations of the code to remedy the mistake while minimizing disturbance for all team members.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=What+Is+Version+Control%3F+Meaning%2C+Tools%2C+and+Advantages&rft.date=2022-10-06&rft.au=Chiradeep+BasuMallick&rft_id=https%3A%2F%2Fwww.spiceworks.com%2Ftech%2Fdevops%2Farticles%2Fwhat-is-version-control%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChaconStraub2022" class="citation web cs1">Chacon, Scott; Straub, Ben (2022-10-03). <a rel="nofollow" class="external text" href="https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Debugging">"Pro Git"</a> (Version 2.1.395-2-g27002dd ed.). Apress. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926165502/https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Debugging">Archived</a> from the original on 2024-09-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>The git bisect tool is an incredibly helpful debugging tool used to find which specific commit was the first one to introduce a bug or problem by doing an automatic binary search.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Pro+Git&rft.edition=Version+2.1.395-2-g27002dd&rft.pub=Apress&rft.date=2022-10-03&rft.aulast=Chacon&rft.aufirst=Scott&rft.au=Straub%2C+Ben&rft_id=https%3A%2F%2Fgit-scm.com%2Fbook%2Fen%2Fv2%2FAppendix-C%253A-Git-Commands-Debugging&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIrma_Azarian2023" class="citation web cs1">Irma Azarian (2023-06-14). <a rel="nofollow" class="external text" href="https://www.seguetech.com/a-review-of-software-version-control-systems-benefits-and-why-it-matters/">"A Review of Software Version Control: Systems, Benefits, and Why it Matters"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240926165505/https://www.seguetech.com/a-review-of-software-version-control-systems-benefits-and-why-it-matters/">Archived</a> from the original on 2024-09-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>Versioning is a priceless process, especially when you have multiple developers working on a single application, because it allows them to easily share files. Without version control, developers will eventually step on each other's toes and overwrite code changes that someone else may have completed without even realizing it. Using these systems allows you to check files out for modifications, then, during check-in, if the files have been changed by another user, you will be alerted and allowed to merge them.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=A+Review+of+Software+Version+Control%3A+Systems%2C+Benefits%2C+and+Why+it+Matters&rft.date=2023-06-14&rft.au=Irma+Azarian&rft_id=https%3A%2F%2Fwww.seguetech.com%2Fa-review-of-software-version-control-systems-benefits-and-why-it-matters%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJesse_Phillips2019" class="citation web cs1">Jesse Phillips (2019-01-21) [2018-12-12]. <a rel="nofollow" class="external text" href="https://dev.to/jessekphillips/git-is-a-communication-tool--2j9k">"Git is a Communication tool"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221119184143/https://dev.to/jessekphillips/git-is-a-communication-tool--2j9k">Archived</a> from the original on 2022-11-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-18</span></span>. <q>There are continued discussions on using rebase, merge, and/or squash. I want to bring focus to the point of all these choices, communicating.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Git+is+a+Communication+tool&rft.date=2019-01-21&rft.au=Jesse+Phillips&rft_id=https%3A%2F%2Fdev.to%2Fjessekphillips%2Fgit-is-a-communication-tool--2j9k&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCortes-CoyLinares-VasquezApontePoshyvanyk2014" class="citation book cs1">Cortes-Coy, Luis Fernando; Linares-Vasquez, Mario; Aponte, Jairo; Poshyvanyk, Denys (2014). "On Automatically Generating Commit Messages via Summarization of Source Code Changes". <i>2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation</i>. IEEE. pp. <span class="nowrap">275–</span>284. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2Fscam.2014.14">10.1109/scam.2014.14</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-4799-6148-1" title="Special:BookSources/978-1-4799-6148-1"><bdi>978-1-4799-6148-1</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:360545">360545</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=On+Automatically+Generating+Commit+Messages+via+Summarization+of+Source+Code+Changes&rft.btitle=2014+IEEE+14th+International+Working+Conference+on+Source+Code+Analysis+and+Manipulation&rft.pages=%3Cspan+class%3D%22nowrap%22%3E275-%3C%2Fspan%3E284&rft.pub=IEEE&rft.date=2014&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A360545%23id-name%3DS2CID&rft_id=info%3Adoi%2F10.1109%2Fscam.2014.14&rft.isbn=978-1-4799-6148-1&rft.aulast=Cortes-Coy&rft.aufirst=Luis+Fernando&rft.au=Linares-Vasquez%2C+Mario&rft.au=Aponte%2C+Jairo&rft.au=Poshyvanyk%2C+Denys&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWingerd2005" class="citation book cs1">Wingerd, Laura (2005). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20071221132707/http://safari.oreilly.com/0596101856"><i>Practical Perforce</i></a>. O'Reilly. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-596-10185-6" title="Special:BookSources/0-596-10185-6"><bdi>0-596-10185-6</bdi></a>. Archived from <a rel="nofollow" class="external text" href="http://safari.oreilly.com/0596101856">the original</a> on 2007-12-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2006-08-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Practical+Perforce&rft.pub=O%27Reilly&rft.date=2005&rft.isbn=0-596-10185-6&rft.aulast=Wingerd&rft.aufirst=Laura&rft_id=http%3A%2F%2Fsafari.oreilly.com%2F0596101856&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-Changeset_gitglossary-changeset-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-Changeset_gitglossary-changeset_29-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefchangesetachangeset">changeset in the gitglossary</a></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://git-scm.com/docs/gitglossary#def_revision">revision in the gitglossary</a></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://mercurial.selenic.com/wiki/UnderstandingMercurial#Committing_changes">UnderstandingMercurial - Mercurial</a></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://mercurial.selenic.com/wiki/ChangeSet">Mercurial: ChangeSet</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100115230528/http://mercurial.selenic.com/wiki/ChangeSet">Archived</a> January 15, 2010, at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090321051311/http://better-scm.berlios.de/comparison/comparison.html">"Version Control System Comparison"</a>. Better SCM Initiative. Archived from <a rel="nofollow" class="external text" href="http://better-scm.berlios.de/comparison/comparison.html">the original</a> on 2009-03-21.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Version+Control+System+Comparison&rft.pub=Better+SCM+Initiative&rft_id=http%3A%2F%2Fbetter-scm.berlios.de%2Fcomparison%2Fcomparison.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGregory2011" class="citation web cs1">Gregory, Gary (February 3, 2011). <a rel="nofollow" class="external text" href="http://garygregory.wordpress.com/2011/02/03/trunk-vs-head-in-version-control-systems/">"Trunk vs. HEAD in Version Control Systems"</a>. <i>Java, Eclipse, and other tech tidbits</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200920130412/https://garygregory.wordpress.com/2011/02/03/trunk-vs-head-in-version-control-systems/">Archived</a> from the original on 2020-09-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-16</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Java%2C+Eclipse%2C+and+other+tech+tidbits&rft.atitle=Trunk+vs.+HEAD+in+Version+Control+Systems&rft.date=2011-02-03&rft.aulast=Gregory&rft.aufirst=Gary&rft_id=http%3A%2F%2Fgarygregory.wordpress.com%2F2011%2F02%2F03%2Ftrunk-vs-head-in-version-control-systems%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTECollins-SussmanFitzpatrickPilato2004[httpsvnbookred-beancomen15svntourcyclehtmlsvntourcycleresolve_1.5:_SVN_tour_cycle_resolve]-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTECollins-SussmanFitzpatrickPilato2004[httpsvnbookred-beancomen15svntourcyclehtmlsvntourcycleresolve_1.5:_SVN_tour_cycle_resolve]_35-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFCollins-SussmanFitzpatrickPilato2004">Collins-Sussman, Fitzpatrick & Pilato 2004</a>, <a rel="nofollow" class="external text" href="http://svnbook.red-bean.com/en/1.5/svn.tour.cycle.html#svn.tour.cycle.resolve">1.5: SVN tour cycle resolve</a>: ‘The G stands for merGed, which means that the file had local changes to begin with, but the changes coming from the repository didn't overlap with the local changes.’</span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Concepts Manual</i> (Version 4.7 ed.). Accurev. July 2008.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Concepts+Manual&rft.edition=Version+4.7&rft.pub=Accurev&rft.date=2008-07&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-Distributed_version_control_gitlab-merge-req-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-Distributed_version_control_gitlab-merge-req_37-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSijbrandij2014" class="citation web cs1">Sijbrandij, Sytse (29 September 2014). <a rel="nofollow" class="external text" href="https://about.gitlab.com/2014/09/29/gitlab-flow/">"GitLab Flow"</a>. <i>GitLab</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 August</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitLab&rft.atitle=GitLab+Flow&rft.date=2014-09-29&rft.aulast=Sijbrandij&rft.aufirst=Sytse&rft_id=https%3A%2F%2Fabout.gitlab.com%2F2014%2F09%2F29%2Fgitlab-flow%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-Distributed_version_control_ossw-38"><span class="mw-cite-backlink">^ <a href="#cite_ref-Distributed_version_control_ossw_38-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Distributed_version_control_ossw_38-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJohnson2013" class="citation web cs1">Johnson, Mark (8 November 2013). <a rel="nofollow" class="external text" href="http://oss-watch.ac.uk/resources/pullrequest">"What is a pull request?"</a>. <i>Oaawatch</i><span class="reference-accessdate">. Retrieved <span class="nowrap">27 March</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Oaawatch&rft.atitle=What+is+a+pull+request%3F&rft.date=2013-11-08&rft.aulast=Johnson&rft.aufirst=Mark&rft_id=http%3A%2F%2Foss-watch.ac.uk%2Fresources%2Fpullrequest&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://help.github.com/articles/using-pull-requests/">"Using pull requests"</a>. GitHub<span class="reference-accessdate">. Retrieved <span class="nowrap">27 March</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Using+pull+requests&rft.pub=GitHub&rft_id=https%3A%2F%2Fhelp.github.com%2Farticles%2Fusing-pull-requests%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.atlassian.com/git/tutorials/making-a-pull-request">"Making a Pull Request"</a>. Atlassian<span class="reference-accessdate">. Retrieved <span class="nowrap">27 March</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Making+a+Pull+Request&rft.pub=Atlassian&rft_id=https%3A%2F%2Fwww.atlassian.com%2Fgit%2Ftutorials%2Fmaking-a-pull-request&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://svnbook.red-bean.com/en/1.7/svn.basic.version-control-basics.html#svn.basic.repository">"SVNBook"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-04-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=SVNBook&rft_id=http%3A%2F%2Fsvnbook.red-bean.com%2Fen%2F1.7%2Fsvn.basic.version-control-basics.html%23svn.basic.repository&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-Repository_(version_control)_Ernst-2018-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-Repository_(version_control)_Ernst-2018_42-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://homes.cs.washington.edu/~mernst/advice/version-control.html">"Version control concepts and best practices"</a>. 2018-03-03. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200427074258/https://homes.cs.washington.edu/~mernst/advice/version-control.html">Archived</a> from the original on 2020-04-27<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Version+control+concepts+and+best+practices&rft.date=2018-03-03&rft_id=https%3A%2F%2Fhomes.cs.washington.edu%2F~mernst%2Fadvice%2Fversion-control.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWallen2020" class="citation web cs1">Wallen, Jack (2020-09-22). <a rel="nofollow" class="external text" href="https://www.techrepublic.com/article/github-to-replace-master-with-main-starting-in-october-what-developers-need-to-know/">"GitHub to replace master with main starting in October: What developers need to do now"</a>. <i>TechRepublic</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210208011318/https://www.techrepublic.com/article/github-to-replace-master-with-main-starting-in-october-what-developers-need-to-know/">Archived</a> from the original on 2021-02-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-04-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TechRepublic&rft.atitle=GitHub+to+replace+master+with+main+starting+in+October%3A+What+developers+need+to+do+now&rft.date=2020-09-22&rft.aulast=Wallen&rft.aufirst=Jack&rft_id=https%3A%2F%2Fwww.techrepublic.com%2Farticle%2Fgithub-to-replace-master-with-main-starting-in-october-what-developers-need-to-know%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHeinze2020" class="citation web cs1">Heinze, Carolyn (2020-11-24). <a rel="nofollow" class="external text" href="https://www.theserverside.com/feature/Why-GitHub-renamed-its-master-branch-to-main">"Why GitHub renamed its master branch to main"</a>. <i>TheServerSide</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220526125637/https://www.theserverside.com/feature/Why-GitHub-renamed-its-master-branch-to-main">Archived</a> from the original on 2022-05-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-04-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TheServerSide&rft.atitle=Why+GitHub+renamed+its+master+branch+to+main&rft.date=2020-11-24&rft.aulast=Heinze&rft.aufirst=Carolyn&rft_id=https%3A%2F%2Fwww.theserverside.com%2Ffeature%2FWhy-GitHub-renamed-its-master-branch-to-main&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Version_control&action=edit&section=66" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2">"Visual Guide to Version Control", <a rel="nofollow" class="external text" href="http://betterexplained.com/articles/a-visual-guide-to-version-control/"><i>Better explained</i></a></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Visual+Guide+to+Version+Control&rft.btitle=Better+explained&rft_id=http%3A%2F%2Fbetterexplained.com%2Farticles%2Fa-visual-guide-to-version-control%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSink" class="citation cs2">Sink, Eric, "Source Control", <a rel="nofollow" class="external text" href="http://www.ericsink.com/scm/source_control.html"><i>SCM</i></a> (how-to)</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Source+Control&rft.btitle=SCM&rft.aulast=Sink&rft.aufirst=Eric&rft_id=http%3A%2F%2Fwww.ericsink.com%2Fscm%2Fsource_control.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AVersion+control" class="Z3988"></span>. The basics of version control.</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Version_control_software443" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Version_control_software" title="Template:Version control software"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Version_control_software" title="Template talk:Version control software"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Version_control_software" title="Special:EditPage/Template:Version control software"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Version_control_software443" style="font-size:114%;margin:0 4em"><a class="mw-selflink selflink">Version control software</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="3"><div>Years, where available, indicate the date of first stable release. Systems with names <i>in italics</i> are no longer maintained or have planned end-of-life dates.</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Local only</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Free_and_open-source_software" title="Free and open-source software">Free/open-source</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Revision_Control_System" title="Revision Control System">RCS</a> (1982)</li> <li><a href="/wiki/Source_Code_Control_System" title="Source Code Control System">SCCS</a> (1973)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Proprietary_software" title="Proprietary software">Proprietary</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/The_Librarian_(version_control_system)" title="The Librarian (version control system)">The Librarian</a> (1969)</li> <li><a href="/wiki/Panvalet" title="Panvalet">Panvalet</a> (1970s)</li> <li><a href="/wiki/PVCS" title="PVCS">PVCS</a> (1985)</li> <li><i><a href="/wiki/QVCS" title="QVCS">QVCS</a></i> (1991)</li></ul> </div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"><a href="/wiki/File:Revision_controlled_project_visualization-2010-24-02.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/80px-Revision_controlled_project_visualization-2010-24-02.svg.png" decoding="async" width="80" height="196" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/120px-Revision_controlled_project_visualization-2010-24-02.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/160px-Revision_controlled_project_visualization-2010-24-02.svg.png 2x" data-file-width="220" data-file-height="540" /></a></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Client–server</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Free/open-source</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Concurrent_Versions_System" title="Concurrent Versions System">CVS</a> (1986, 1990 in C)</li> <li><a href="/wiki/CVSNT" title="CVSNT">CVSNT</a> (1998)</li> <li><a href="/wiki/QVCS" title="QVCS">QVCS Enterprise</a> (1998)</li> <li><a href="/wiki/Apache_Subversion" title="Apache Subversion">Subversion</a> (2000)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AccuRev_SCM" title="AccuRev SCM">AccuRev SCM</a> (2002)</li> <li>Azure DevOps <ul><li><a href="/wiki/Azure_DevOps_Server" title="Azure DevOps Server">Server</a> (via <a href="/wiki/Azure_DevOps_Server#TFVC" title="Azure DevOps Server">TFVC</a>) (2005)</li> <li><a href="/wiki/Microsoft_Visual_Studio#Azure_DevOps_Services" class="mw-redirect" title="Microsoft Visual Studio">Services</a> (via <a href="/wiki/Azure_DevOps_Server#TFVC" title="Azure DevOps Server">TFVC</a>) (2014)</li></ul></li> <li><a href="/wiki/Rational_ClearCase" class="mw-redirect" title="Rational ClearCase">ClearCase</a> (1992)</li> <li><i><a href="/wiki/IBM_Configuration_Management_Version_Control_(CMVC)" class="mw-redirect" title="IBM Configuration Management Version Control (CMVC)">CMVC</a></i> (1994)</li> <li><a href="/wiki/Dimensions_CM" title="Dimensions CM">Dimensions CM</a> (1980s)</li> <li><i><a href="/wiki/Apollo_Computer#History" title="Apollo Computer">DSEE</a></i> (1984)</li> <li><a href="/wiki/PTC_Integrity" title="PTC Integrity">Integrity</a> (2001)</li> <li><a href="/wiki/Perforce_Helix" class="mw-redirect" title="Perforce Helix">Perforce Helix</a> (1995)</li> <li><a href="/wiki/IBM_Software_Configuration_and_Library_Manager" title="IBM Software Configuration and Library Manager">SCLM</a> (1980s?)</li> <li><a href="/wiki/CA_Harvest_Software_Change_Manager" title="CA Harvest Software Change Manager">Software Change Manager</a> (1970s)</li> <li><a href="/wiki/StarTeam" title="StarTeam">StarTeam</a> (1995)</li> <li><a href="/wiki/Surround_SCM" title="Surround SCM">Surround SCM</a> (2002)</li> <li><a href="/wiki/Rational_Synergy" title="Rational Synergy">Synergy</a> (1990)</li> <li><a href="/wiki/Rational_Team_Concert" class="mw-redirect" title="Rational Team Concert">Team Concert</a> (2008)</li> <li><a href="/wiki/Vault_(version_control_system)" title="Vault (version control system)">Vault</a> (2003)</li> <li><i><a href="/wiki/Microsoft_Visual_SourceSafe" title="Microsoft Visual SourceSafe">Visual SourceSafe</a></i> (1994)</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Distributed_version_control" title="Distributed version control">Distributed</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Free/open-source</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><i><a href="/wiki/BitKeeper" title="BitKeeper">BitKeeper</a></i> (2000)</li> <li><a href="/wiki/Breezy_(software)" title="Breezy (software)">Breezy</a> (2017)</li> <li><i><a href="/wiki/Code_Co-op" title="Code Co-op">Code Co-op</a></i> (1997)</li> <li><a href="/wiki/Darcs" title="Darcs">Darcs</a> (2002)</li> <li><i><a href="/wiki/Distributed_Concurrent_Versions_System" title="Distributed Concurrent Versions System">DCVS</a></i> (2002)</li> <li><a href="/wiki/Fossil_(software)" title="Fossil (software)">Fossil</a> (2007)</li> <li><a href="/wiki/Git" title="Git">Git</a> (2005)</li> <li><i><a href="/wiki/GNU_arch" title="GNU arch">GNU arch</a></i> (2001)</li> <li><a href="/wiki/GNU_Bazaar" title="GNU Bazaar">GNU Bazaar</a> (2005)</li> <li><a href="/wiki/Mercurial" title="Mercurial">Mercurial</a> (2005)</li> <li><a href="/wiki/Monotone_(software)" title="Monotone (software)">Monotone</a> (2003)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>Azure DevOps <ul><li><a href="/wiki/Azure_DevOps_Server" title="Azure DevOps Server">Server</a> (via Git) (2013)</li> <li><a href="/wiki/Microsoft_Visual_Studio#Azure_DevOps_Services" class="mw-redirect" title="Microsoft Visual Studio">Services</a> (via Git) (2014)</li></ul></li> <li><i><a href="/wiki/Sun_WorkShop_TeamWare" title="Sun WorkShop TeamWare">TeamWare</a></i> (1992)</li> <li><a href="/wiki/Plastic_SCM" class="mw-redirect" title="Plastic SCM">Plastic SCM</a> (2006)</li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Baseline_(configuration_management)" title="Baseline (configuration management)">Baseline</a></li> <li><a href="/wiki/Branching_(version_control)" title="Branching (version control)">Branch</a> <ul><li><a href="/wiki/Branching_(version_control)#Development_branch" title="Branching (version control)">Trunk</a></li></ul></li> <li><a href="/wiki/Changeset" title="Changeset">Changeset</a></li> <li><a href="/wiki/Commit_(version_control)" title="Commit (version control)">Commit</a> <ul><li><a href="/wiki/Gated_commit" title="Gated commit">Gated</a></li></ul></li> <li><a href="/wiki/Delta_encoding" title="Delta encoding">Delta compression</a> <ul><li><a href="/wiki/Interleaved_deltas" title="Interleaved deltas">Interleaved</a></li></ul></li> <li><a href="/wiki/File_comparison" title="File comparison">File comparison</a></li> <li><a href="/wiki/Fork_(software_development)" title="Fork (software development)">Fork</a></li> <li><a href="/wiki/Merge_(version_control)" title="Merge (version control)">Merge</a></li> <li><a href="/wiki/Monorepo" title="Monorepo">Monorepo</a></li> <li><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></li> <li><a href="/wiki/Revision_tag" title="Revision tag">Tag</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div> <ul><li><b><a href="/wiki/Category:Version_control_systems" title="Category:Version control systems">Category</a></b></li> <li><b><a href="/wiki/Comparison_of_version-control_software" title="Comparison of version-control software">Comparison</a></b></li> <li><b><a href="/wiki/List_of_version-control_software" title="List of version-control software">List</a></b></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox authority-control" aria-label="Navbox582" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q189439#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4202033-5">Germany</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh2014000307">United States</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.nli.org.il/en/authorities/987007579378305171">Israel</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐65b64b4b74‐g69sv Cached time: 20250219123325 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.910 seconds Real time usage: 1.052 seconds Preprocessor visited node count: 4047/1000000 Post‐expand include size: 133753/2097152 bytes Template argument size: 4172/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 24/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 155627/5000000 bytes Lua time usage: 0.649/10.000 seconds Lua memory usage: 9689952/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 948.027 1 -total 32.55% 308.582 2 Template:Reflist 16.50% 156.382 3 Template:Excerpt 13.47% 127.678 7 Template:Cite_book 10.26% 97.309 1 Template:Version_control_software 10.26% 97.306 4 Template:Navbox 9.95% 94.288 20 Template:Cite_web 7.30% 69.192 1 Template:Short_description 6.12% 58.033 1 Template:More_citations_needed 5.62% 53.251 1 Template:Ambox --> <!-- Saved in parser cache with key enwiki:pcache:55955:|#|:idhash:canonical and timestamp 20250219123325 and revision id 1274295793. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Version_control&oldid=1274295793">https://en.wikipedia.org/w/index.php?title=Version_control&oldid=1274295793</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Version_control" title="Category:Version control">Version control</a></li><li><a href="/wiki/Category:Version_control_systems" title="Category:Version control systems">Version control systems</a></li><li><a href="/wiki/Category:Technical_communication" title="Category:Technical communication">Technical communication</a></li><li><a href="/wiki/Category:Software_development_process" title="Category:Software development process">Software development process</a></li><li><a href="/wiki/Category:Distributed_version_control_systems" title="Category:Distributed version control systems">Distributed version control systems</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Articles_needing_additional_references_from_April_2011" title="Category:Articles needing additional references from April 2011">Articles needing additional references from April 2011</a></li><li><a href="/wiki/Category:All_articles_needing_additional_references" title="Category:All articles needing additional references">All articles needing additional references</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2017" title="Category:Articles with unsourced statements from December 2017">Articles with unsourced statements from December 2017</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_November_2016" title="Category:Articles with unsourced statements from November 2016">Articles with unsourced statements from November 2016</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2010" title="Category:Articles with unsourced statements from January 2010">Articles with unsourced statements from January 2010</a></li><li><a href="/wiki/Category:Articles_with_excerpts" title="Category:Articles with excerpts">Articles with excerpts</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 6 February 2025, at 15:09<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Version_control&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Version control</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>30 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-d8647bfd6-kq28s","wgBackendResponseTime":174,"wgPageParseReport":{"limitreport":{"cputime":"0.910","walltime":"1.052","ppvisitednodes":{"value":4047,"limit":1000000},"postexpandincludesize":{"value":133753,"limit":2097152},"templateargumentsize":{"value":4172,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":24,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":155627,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 948.027 1 -total"," 32.55% 308.582 2 Template:Reflist"," 16.50% 156.382 3 Template:Excerpt"," 13.47% 127.678 7 Template:Cite_book"," 10.26% 97.309 1 Template:Version_control_software"," 10.26% 97.306 4 Template:Navbox"," 9.95% 94.288 20 Template:Cite_web"," 7.30% 69.192 1 Template:Short_description"," 6.12% 58.033 1 Template:More_citations_needed"," 5.62% 53.251 1 Template:Ambox"]},"scribunto":{"limitreport-timeusage":{"value":"0.649","limit":"10.000"},"limitreport-memusage":{"value":9689952,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFAlessandro_Picarelli2020\"] = 1,\n [\"CITEREFChaconStraub2022\"] = 1,\n [\"CITEREFChiradeep_BasuMallick2022\"] = 2,\n [\"CITEREFCollins-SussmanFitzpatrickPilato2004\"] = 1,\n [\"CITEREFCortes-CoyLinares-VasquezApontePoshyvanyk2014\"] = 1,\n [\"CITEREFGitLab\"] = 1,\n [\"CITEREFGoetz2002\"] = 1,\n [\"CITEREFGregory2011\"] = 1,\n [\"CITEREFHeinze2020\"] = 1,\n [\"CITEREFIrma_Azarian2023\"] = 2,\n [\"CITEREFJesse_Phillips2019\"] = 1,\n [\"CITEREFLoeligerMcCullough2012\"] = 1,\n [\"CITEREFO\u0026#039;Sullivan2009\"] = 1,\n [\"CITEREFPiscipo2002\"] = 1,\n [\"CITEREFReQtest2020\"] = 1,\n [\"CITEREFRochkind1975\"] = 1,\n [\"CITEREFScottStraub2014\"] = 1,\n [\"CITEREFSink\"] = 1,\n [\"CITEREFSmart2008\"] = 1,\n [\"CITEREFTichy1985\"] = 1,\n [\"CITEREFWallen2020\"] = 1,\n [\"CITEREFWheeler\"] = 1,\n [\"CITEREFWingerd2005\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Authority control\"] = 1,\n [\"Citation\"] = 4,\n [\"Citation needed\"] = 3,\n [\"Cite book\"] = 7,\n [\"Cite interview\"] = 2,\n [\"Cite journal\"] = 2,\n [\"Cite web\"] = 13,\n [\"Cmn\"] = 1,\n [\"DEFAULTSORT:Version Control\"] = 1,\n [\"Excerpt\"] = 3,\n [\"Main\"] = 11,\n [\"More citations needed\"] = 1,\n [\"Redirect\"] = 2,\n [\"Reflist\"] = 2,\n [\"Rp\"] = 2,\n [\"See also\"] = 1,\n [\"Sfn\"] = 1,\n [\"Short description\"] = 1,\n [\"Version control software\"] = 1,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-65b64b4b74-g69sv","timestamp":"20250219123325","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Version control","url":"https:\/\/en.wikipedia.org\/wiki\/Version_control","sameAs":"http:\/\/www.wikidata.org\/entity\/Q189439","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q189439","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-06-10T10:54:30Z","dateModified":"2025-02-06T15:09:42Z","headline":"activity of managing the versions of one or more files"}</script> </body> </html>