422:
3066:
461:(each node can have more than one child), and has multiple tips, corresponding to the revisions without children ("latest revision on each branch"). 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. 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
246:
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 ensures that the majority of management of version control steps is hidden behind the scenes.
50:
1036:) 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.
585:
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.
509:. 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.
497:
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.
394:
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; in this case saving the file only changes the working copy, and checking into the repository is a separate step.
538:. 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.
1774:
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
1456:
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. Other projects run
1079:(also known as commit and revision) 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
393:
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
233:
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
2460:
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
846:
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. Better communication, whether instant or deferred, can improve the code review process, the testing process, and other critical
784:
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
245:
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
584:
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
517:
Version control is widespread in business and law. Indeed, "contract redline" and "legal blackline" are some of the earliest forms of revision control, and are still employed in business and law with varying degrees of sophistication. The most sophisticated techniques are beginning to be used for
496:
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
480:
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
444:
Revisions occur in sequence over time, and thus can be arranged in order, either by revision number or timestamp. 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
824:
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. Previous versions can be installed and tested to verify conclusions reached by
758:
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
2343:
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
249:
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.
369:
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.
492:
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.
833:
Version control can greatly simplify debugging. The application of a test case to multiple versions can quickly identify the change which introduced a bug. The developer need not be familiar with the entire code base and can focus instead on the code that introduced the problem.
2344:
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.
2313:
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
397:
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
488:(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
560:
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.
2193:
1136:
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.
1563:
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.
811:
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.
785:
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.
749:
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
842:
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.
615:
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
437:) 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
1438:
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. The contributor requests that the project maintainer
798:
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.
599:
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
639:
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
775:
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.
234:
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 (
2461:
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.
820:
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.
457:. 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
581:" 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).
1514:. 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
322:
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
1358:
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).
2863:
1674:
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
1128:) 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.
338:
for the same system (OS/360). Source Code
Control System's introduction, having been published on December 4, 1975, historically implied it was the first deliberate revision control system.
413:, 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.
1389:
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.
1226:, 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.
453:
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
2502:
Cortes-Coy, Luis
Fernando; Linares-Vasquez, Mario; Aponte, Jairo; Poshyvanyk, Denys (2014). "On Automatically Generating Commit Messages via Summarization of Source Code Changes".
2431:
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.
1588:
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
2448:
2301:
2284:
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.
445:
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
229:
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.
3160:
1376:, 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
1293:
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
620:
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
1190:
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.
2962:
982:) represents a specific modification to a document under version control. The granularity of the modification considered a change varies between version control systems.
250:
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.
2686:: ‘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.’
2659:
2402:
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.
1555:
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.
3193:
425:
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).
2893:
958:
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.
855:
Some of the more advanced revision-control tools offer many other facilities, allowing deeper integration with other tools and software-engineering processes.
1020:
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.
3539:
2064:
1710:
2855:
2331:
319:
1167:, which retains only the differences between successive versions of files. This allows for more efficient storage of many different versions of files.
2390:
2361:
2272:
740:
Each working copy effectively functions as a remote backup of the codebase and of its change-history, providing inherent protection against data loss.
717:
approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a
269:
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.
1963:
1936:
732:
Common operations (such as commits, viewing history, and reverting changes) are fast, because there is no need to communicate with a central server.
1450:
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
2833:
2419:
3490:
3296:
3030:
2955:
1705:
659:
In most projects, some snapshots are more significant than others, such as those used to indicate published releases, branches, or milestones.
324:
313:
2490:
There are continued discussions on using rebase, merge, and/or squash. I want to bring focus to the point of all these choices, communicating.
3534:
2519:
2478:
2187:
2124:
1839:
1145:
A conflict occurs when different parties make changes to the same document, and the system is unable to reconcile the changes. A user must
3398:
2177:
919:
694:
3199:
2444:
2297:
1962:(Interview). Interviewed by Thomas Haigh. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. 3, 5, 12–13.
867:
2632:
2948:
2554:
2098:
1735:
180:
133:
1454:. Submitted pull requests are visible to anyone with repository access. A pull request can be accepted or rejected by maintainers.
374:, instead consider changes to the data as a whole, which is less intuitive for simple changes but simplifies more complex changes.
3529:
3524:
3497:
3483:
1935:(Interview). Interviewed by Jeffrey R. Yost. Washington, D.C.: Charles Babbage Institute, University of Minnesota. pp. 5–7.
1725:
218:
67:
2809:
484:
In the presence of merges, the resulting graph is no longer a tree, as nodes can have multiple parents, but is instead a rooted
3065:
2580:
1365:
is created, the code in the files is independently edited, and the updated branch is later incorporated into a single, unified
604:
further changes into the central repository, and preserve the changes from the first developer when other developers check in.
421:
31:
114:
3229:
1676:
759:
commit description or the code; and using a consistent branching strategy. Other best software development practices such as
534:
Traditional revision control systems use a centralized model where all the revision control functions take place on a shared
71:
2130:
1237:
is the act of copying a local directory tree (that is not currently a working copy) into the repository for the first time.
86:
1510:, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single
631:
can provide an optional means to explicitly lock a file for exclusive write access, even when a merging capability exists.
2997:
1878:
1654:
in revision control systems that require each repository to have exactly one working copy (common in distributed systems)
1331:
is an operation in which two sets of changes are applied to a file or set of files. Some sample scenarios are as follows:
887:
3464:
2651:
1479:
1472:
1080:
945:
578:
410:
351:
235:
93:
3449:
3408:
3403:
3252:
3236:
1720:
1431:
708:
2885:
2216:
607:
Merging two files can be a very delicate operation, and usually possible only if the data structure is simple, as in
2616:
505:
Engineering revision control developed from formalized processes based on tracking revisions of early blueprints or
3087:
3011:
1503:
343:
335:
2544:
2243:
2028:
807:
Branching assists with deployment. Branching and merging, the production, packaging, and labeling of source code
1104:
1097:
207:
100:
2683:
1547:
is any change in form. In SVK, a
Revision is the state at a point in time of the entire tree in the repository.
469:
Conversely, when a revision can be based on more than one previous revision (when a node can have more than one
194:
that automates version control. Alternatively, version control is embedded as a feature of some systems such as
3519:
3420:
1318:
755:
690:
601:
475:
2327:
1845:
714:
366:
Revision control manages changes to a set of data over time. These changes can be structured in various ways.
304:
and the person making the change. Revisions can be compared, restored, and, with some types of files, merged.
3454:
3361:
3141:
3005:
1784:
The revision or repository "tree" should not be confused with the directory tree of files in a working copy.
1610:
is the unique line of development that is not a branch (sometimes also called
Baseline, Mainline or Master)
594:
523:
339:
82:
60:
38:
2386:
2373:
Software teams can understand the evolution of a solution by examining prior versions through code reviews.
2357:
2268:
2217:"Comments on Open Source Software / Free Software (OSS/FS) Software Configuration Management (SCM) Systems"
1910:
2602:
1745:
1458:
485:
438:
2919:
3370:
3223:
1084:
682:
usually refer to the mechanism within the tool of identifying or making the record of the snapshot, and
725:(change-sets) from peer to peer. This results in some important differences from a centralized system:
2829:
2415:
3022:
1715:
1257:, a method that allows storing the history of text based files in a more efficient way than by using
751:
162:
1047:
means creating a repository containing the revisions from another repository. This is equivalent to
3355:
3335:
3145:
3135:
3131:
1793:
If a new branch is based on HEAD, then topologically HEAD is no longer a tip, since it has a child.
1740:
1544:
1527:
The act of user intervention to address a conflict between different changes to the same document.
1487:
879:
863:
621:
254:
2474:
3437:
3153:
2525:
2163:
2056:
2009:
1730:
1511:
1254:
991:
764:
535:
2787:
1055:
ing into an empty (newly initialized) repository. As a noun, two repositories can be said to be
924:
An approved revision of a document or source file to which subsequent changes can be made. See
736:
Rather, communication is only necessary when pushing or pulling changes to or from other peers.
409:
and check-outs and check-ins done with reference to this central repository. Alternatively, in
3303:
3275:
3105:
2550:
2515:
2183:
2120:
2116:
Version
Control with Git: Powerful Tools and Techniques for Collaborative Software Development
2094:
2048:
1835:
1499:
1258:
1164:
1158:
1012:
871:
808:
722:
570:
347:
272:
Many version control systems identify the version of a file as a number or letter, called the
211:
1765:
In this case, edit buffers are a secondary form of working copy, and not referred to as such.
1535:
The process of merging different team branches into the main trunk of the versioning system.
107:
3217:
2507:
2040:
2001:
1607:
1601:
713:
Distributed revision control systems (DRCS) take a peer-to-peer approach, as opposed to the
405:
Revision control systems are often centralized, with a single authoritative data store, the
239:
1646:
is also the term used by some CM tools (CM+, PLS, SMS) for the change package concept (see
3444:
3174:
2636:
2620:
2159:
1149:
the conflict by combining the changes, or by selecting one change in favour of the other.
1175:
A stream in which some or all file versions are mirrors of the parent stream's versions.
2856:"GitHub to replace master with main starting in October: What developers need to do now"
2765:
2504:
2014 IEEE 14th
International Working Conference on Source Code Analysis and Manipulation
3432:
3187:
1690:
978:
526:), supplanting the "manual" electronic implementation of traditional revision control.
195:
17:
2980:
Years, where available, indicate the date of first stable release. Systems with names
1638:) merges changes made in the repository (by other people, for example) into the local
1343:
their working copy with changes made, and checked into the repository, by other users.
556:
if the system is left in a consistent state even if the operation is interrupted. The
3513:
3181:
3167:
2154:, for some of the manual systems in place in the twentieth century, for example, the
2087:
883:
875:
547:
458:
191:
166:
2591:
2013:
1986:
910:
Terminology can vary from system to system, but some terms in common usage include:
729:
No canonical, reference copy of the codebase exists by default; only working copies.
381:
this is not in general immediately reflected in the revision control system (in the
3469:
3425:
3211:
2711:
2060:
1580:
1573:
1289:
1282:
574:
454:
450:
430:
399:
230:
165:
practice of controlling, organizing, and tracking different versions in history of
2930:
2529:
1959:
1932:
2114:
402:
or simply avoiding working on the same document that someone else is working on.
30:"Source control" redirects here. For other uses in medicine and environment, see
3377:
3122:
1872:
1868:
1451:
902:(via vc.el). Advanced research prototypes generate appropriate commit messages.
760:
721:
repository. Distributed revision control conducts synchronization by exchanging
199:
170:
49:
2740:
377:
When data that is under revision control is modified, after being retrieved by
3323:
3282:
2151:
1700:
1490:. Depending on whether the version control system in use is distributed, like
1461:
tool, and the reviewer checks that any new code has appropriate test coverage.
718:
612:
506:
173:
2445:"A Review of Software Version Control: Systems, Benefits, and Why it Matters"
2298:"A Review of Software Version Control: Systems, Benefits, and Why it Matters"
2052:
2005:
1775:
separate lines, one per repository or branch (or branch within a repository).
1443:
the source code change, hence the name "pull request". The maintainer has to
3415:
3329:
3268:
1695:
1495:
1447:
the pull request if the contribution should become part of the source base.
1076:
1069:
899:
608:
301:
203:
2940:
2044:
936:
A search for the author and revision that last modified a particular line.
2220:
3459:
3316:
3205:
3036:
2613:
2511:
1507:
1483:
891:
656:
is used in documentation or discussion; they can be considered synonyms.
519:
441:, but for many purposes "tree with merges" is an adequate approximation.
328:
1186:
is the act of obtaining the files from the repository. It is similar to
346:. The next generation after Concurrent Versions System was dominated by
2560:
577:
so that only one developer at a time has write access to the central "
2166:; see also the approval procedures instituted by the U.S. government.
1906:
37:"Revision control system" redirects here. For the software tool, see
816:
Damage mitigation, accountability and process and design improvement
334:
A full system designed for source code control was started in 1972,
2734:
2732:
1829:
1083:
unit, an indivisible set, by version control systems. This is one
433:, revisions are generally thought of as a line of development (the
3289:
3093:
895:
617:
420:
314:
Comparison of version control software § History and adoption
1900:
1059:
s if they are kept synchronized, and contain the same revisions.
3099:
3049:
3042:
2679:
1802:"Mainline" can also refer to the main path in a separate branch.
1380:
to distinguish it from the complete merge in the previous case.)
972:
686:
indicates the increased significance of any given label or tag.
266:
238:), while the other version is where new features are worked on (
2944:
767:
may assist in the following of version control best practices.
3309:
1491:
371:
355:
43:
1350:
files that have been updated by others since the files were
803:
Branching simplifies deployment, maintenance and development
292:. For example, the first version of a file might be version
2984:
are no longer maintained or have planned end-of-life dates.
2085:
Collins-Sussman, Ben; Fitzpatrick, BW; Pilato, CM (2004),
217:
Version control includes viewing old versions and enables
2387:"What Is Version Control? Meaning, Tools, and Advantages"
2358:"What Is Version Control? Meaning, Tools, and Advantages"
1457:
an automated test suite on every pull request, using a
481:
merge, and require manual intervention or rewriting.
754:
include: making incremental, small, changes; making
3391:
3345:
3260:
3251:
3115:
3080:
3073:
3021:
2996:
2989:
74:. Unsourced material may be challenged and removed.
2086:
1397:Copy revisions from one repository into another.
1401:is initiated by the receiving repository, while
1210:The process of merging changes made in the main
342:followed just after, with its networked version
2418:(Version 2.1.395-2-g27002dd ed.). Apress.
1589:
1309:, but there can be a mainline for each branch.
925:
296:. When the file is changed the next version is
2886:"Why GitHub renamed its master branch to main"
2680:Collins-Sussman, Fitzpatrick & Pilato 2004
2244:"What are Git version control best practices?"
2162:, each revision of which required approval by
2956:
2830:"Version control concepts and best practices"
1214:into a development (feature or team) branch.
847:aspects of the software development process.
8:
1711:Comparison of source-code-hosting facilities
950:A set of files under version control may be
2699:(Version 4.7 ed.). Accurev. July 2008.
2652:"Trunk vs. HEAD in Version Control Systems"
2328:"What Are The Benefits Of Version Control?"
2113:Loeliger, Jon; McCullough, Matthew (2012).
1823:
1821:
1819:
1432:Distributed version control § Pull requests
253:Revision control may also track changes to
3257:
3077:
2993:
2963:
2949:
2941:
2414:Chacon, Scott; Straub, Ben (2022-10-03).
1994:IEEE Transactions on Software Engineering
825:examination of code and commit messages.
134:Learn how and when to remove this message
838:Improves collaboration and communication
2710:Sijbrandij, Sytse (29 September 2014).
2635:. Better SCM Initiative. Archived from
2269:"The cost of not using version control"
2182:. "O'Reilly Media, Inc.". p. 301.
1966:from the original on September 26, 2024
1939:from the original on September 26, 2024
1815:
1758:
674:are used together in the same context,
2196:from the original on 26 September 2024
1706:Comparison of version-control software
518:the electronic tracking of changes to
27:Activity of managing versions of files
2656:Java, Eclipse, and other tech tidbits
990:On many version control systems with
644:"). Typically only one of the terms
473:), the resulting process is called a
7:
2385:Chiradeep BasuMallick (2022-10-06).
2356:Chiradeep BasuMallick (2022-10-06).
2029:"Rcs — a system for version control"
1848:from the original on 8 December 2019
1253:Some revision control software uses
1163:Most revision control software uses
300:. Each version is associated with a
257:, such as those typically stored in
72:adding citations to reliable sources
3540:Distributed version control systems
2918:"Visual Guide to Version Control",
2633:"Version Control System Comparison"
2267:Alessandro Picarelli (2020-11-17).
1899:Scott, Chacon; Straub, Ben (2014).
1834:. Sebastopol: O'Reilly Media, Inc.
1409:is sometimes used as a synonym for
1335:A user, working on a set of files,
1245:To create a new, empty repository.
920:Baseline (configuration management)
569:The simplest method of preventing "
2650:Gregory, Gary (February 3, 2011).
2603:UnderstandingMercurial - Mercurial
1960:"An Interview with Joseph Piscopo"
1452:focused discussion of code changes
859:Integrated development environment
370:Accordingly, some systems such as
179:Version control is a component of
176:, but generally any type of file.
25:
2937:. The basics of version control.
2739:Johnson, Mark (8 November 2013).
2033:Software: Practice and Experience
1736:Software configuration management
624:is available for the file types.
181:software configuration management
3064:
2119:. O'Reilly Media. pp. 2–5.
1987:"The Source Code Control System"
1933:"An Interview with Martin Goetz"
1726:List of version-control software
1482:is a data structure that stores
1471:This section is an excerpt from
1430:This section is an excerpt from
1068:This section is an excerpt from
48:
2896:from the original on 2022-05-26
2866:from the original on 2021-02-08
2836:from the original on 2020-04-27
2662:from the original on 2020-09-20
2481:from the original on 2022-11-19
2451:from the original on 2024-09-26
2422:from the original on 2024-09-26
2393:from the original on 2022-11-19
2364:from the original on 2022-11-19
2334:from the original on 2022-11-22
2304:from the original on 2024-09-26
2275:from the original on 2022-11-19
2133:from the original on 2024-09-26
2089:Version Control with Subversion
2067:from the original on 2024-09-26
1958:Piscipo, Joseph (May 3, 2002).
1913:from the original on 2015-12-25
1881:from the original on 2022-10-06
1831:Mercurial: the Definitive Guide
1075:In version control software, a
611:. The result of a merge of two
59:needs additional citations for
32:Source control (disambiguation)
2929:Sink, Eric, "Source Control",
2884:Heinze, Carolyn (2020-11-24).
2473:Jesse Phillips (2019-01-21) .
2150:For Engineering drawings, see
1478:In version control systems, a
221:a file to a previous version.
1:
2475:"Git is a Communication tool"
2176:Smart, John Ferguson (2008).
1931:Goetz, Martin (May 3, 2002).
3535:Software development process
2581:changeset in the gitglossary
1874:See what's changed in a file
1473:Repository (version control)
1405:is initiated by the source.
946:Branching (revision control)
794:Allows for reverting changes
703:Distributed revision control
411:distributed revision control
352:distributed revision control
2854:Wallen, Jack (2020-09-22).
2684:1.5: SVN tour cycle resolve
2592:revision in the gitglossary
2443:Irma Azarian (2023-06-14).
2296:Irma Azarian (2023-06-14).
2152:Whiteprint#Document control
1721:Distributed version control
709:Distributed version control
3556:
2506:. IEEE. pp. 275–284.
1985:Rochkind, Marc J. (1975).
1828:O'Sullivan, Bryan (2009).
1599:
1590:baselines, labels and tags
1571:
1470:
1429:
1316:
1280:
1156:
1095:
1067:
943:
926:baselines, labels and tags
917:
706:
689:Most formal discussion of
635:Baselines, labels and tags
592:
545:
350:, followed by the rise of
344:Concurrent Versions System
336:Source Code Control System
311:
208:content management systems
36:
29:
3478:
3062:
2978:
2741:"What is a pull request?"
2619:January 15, 2010, at the
2027:Tichy, Walter F. (1985).
1630:can also mean a combined
1356:revision control software
1098:Commit (revision control)
2972:Version control software
2006:10.1109/TSE.1975.6312866
1319:Merge (revision control)
994:multi-change commits, a
866:are often available for
691:configuration management
530:Source-management models
212:Knowledge's page history
3530:Technical communication
3525:Version control systems
3200:Software Change Manager
2788:"Making a Pull Request"
2543:Wingerd, Laura (2005).
1498:, or centralized, like
595:Merge (version control)
524:product data management
385:), but must instead be
39:Revision Control System
18:Revision control system
2326:ReQtest (2020-10-26).
2156:Engineering Procedures
2045:10.1002/spe.4380150703
1902:Pro Git Second Edition
1746:Versioning file system
1486:for a set of files or
1459:continuous integration
1222:Also sometimes called
1016:identifies the set of
501:Specialized strategies
486:directed acyclic graph
439:directed acyclic graph
426:
188:version control system
159:source code management
2766:"Using pull requests"
1085:synchronization model
424:
2614:Mercurial: ChangeSet
2512:10.1109/scam.2014.14
1716:Data version control
1539:Revision and version
829:Simplifies debugging
752:software development
573:" problems involves
163:software engineering
68:improve this article
2223:on November 9, 2020
1741:Software versioning
1650:). Synonymous with
1531:Reverse integration
1488:directory structure
1206:Forward integration
662:When both the term
513:In Business and Law
255:configuration files
2546:Practical Perforce
2164:Lawrence A. Hyland
1731:Non-linear editing
1662:Releasing a lock.
1372:A set of files is
1255:Interleaved deltas
1249:Interleaved deltas
906:Common terminology
771:Costs and benefits
765:regression testing
427:
3507:
3506:
3433:Delta compression
3387:
3386:
3247:
3246:
3237:Visual SourceSafe
3090:(1986, 1990 in C)
3060:
3059:
2521:978-1-4799-6148-1
2189:978-1-4919-5454-6
2126:978-1-4493-4504-4
1905:. United States:
1841:978-0-596-55547-4
1287:When a developer
1259:Delta compression
1165:delta compression
1159:Delta compression
1153:Delta compression
1116:or, more rarely,
872:Oracle JDeveloper
627:The concept of a
571:concurrent access
542:Atomic operations
144:
143:
136:
118:
83:"Version control"
16:(Redirected from
3547:
3364:(via Git) (2014)
3358:(via Git) (2013)
3261:Free/open-source
3258:
3081:Free/open-source
3078:
3068:
2998:Free/open-source
2994:
2965:
2958:
2951:
2942:
2936:
2924:
2921:Better explained
2905:
2904:
2902:
2901:
2881:
2875:
2874:
2872:
2871:
2851:
2845:
2844:
2842:
2841:
2826:
2820:
2819:
2817:
2816:
2806:
2800:
2799:
2797:
2795:
2784:
2778:
2777:
2775:
2773:
2762:
2756:
2755:
2753:
2751:
2736:
2727:
2726:
2724:
2722:
2707:
2701:
2700:
2693:
2687:
2677:
2671:
2670:
2668:
2667:
2647:
2641:
2640:
2629:
2623:
2611:
2605:
2600:
2594:
2589:
2583:
2578:
2572:
2571:
2569:
2568:
2559:. Archived from
2540:
2534:
2533:
2499:
2493:
2492:
2487:
2486:
2470:
2464:
2463:
2457:
2456:
2440:
2434:
2433:
2428:
2427:
2411:
2405:
2404:
2399:
2398:
2382:
2376:
2375:
2370:
2369:
2353:
2347:
2346:
2340:
2339:
2323:
2317:
2316:
2310:
2309:
2293:
2287:
2286:
2281:
2280:
2264:
2258:
2257:
2255:
2254:
2239:
2233:
2232:
2230:
2228:
2219:. Archived from
2215:Wheeler, David.
2212:
2206:
2205:
2203:
2201:
2179:Java Power Tools
2173:
2167:
2148:
2142:
2141:
2139:
2138:
2110:
2104:
2103:
2092:
2082:
2076:
2075:
2073:
2072:
2024:
2018:
2017:
1991:
1982:
1976:
1975:
1973:
1971:
1955:
1949:
1948:
1946:
1944:
1928:
1922:
1921:
1919:
1918:
1896:
1890:
1888:
1887:
1886:
1864:
1858:
1857:
1855:
1853:
1825:
1803:
1800:
1794:
1791:
1785:
1782:
1776:
1772:
1766:
1763:
1602:Trunk (software)
1346:A user tries to
552:An operation is
264:
260:
202:, collaborative
151:revision control
139:
132:
128:
125:
119:
117:
76:
52:
44:
21:
3555:
3554:
3550:
3549:
3548:
3546:
3545:
3544:
3520:Version control
3510:
3509:
3508:
3503:
3474:
3445:File comparison
3383:
3341:
3243:
3111:
3100:QVCS Enterprise
3069:
3056:
3017:
2985:
2974:
2969:
2928:
2917:
2914:
2909:
2908:
2899:
2897:
2883:
2882:
2878:
2869:
2867:
2853:
2852:
2848:
2839:
2837:
2828:
2827:
2823:
2814:
2812:
2808:
2807:
2803:
2793:
2791:
2786:
2785:
2781:
2771:
2769:
2764:
2763:
2759:
2749:
2747:
2738:
2737:
2730:
2720:
2718:
2709:
2708:
2704:
2697:Concepts Manual
2695:
2694:
2690:
2678:
2674:
2665:
2663:
2649:
2648:
2644:
2631:
2630:
2626:
2621:Wayback Machine
2612:
2608:
2601:
2597:
2590:
2586:
2579:
2575:
2566:
2564:
2557:
2542:
2541:
2537:
2522:
2501:
2500:
2496:
2484:
2482:
2472:
2471:
2467:
2454:
2452:
2442:
2441:
2437:
2425:
2423:
2413:
2412:
2408:
2396:
2394:
2384:
2383:
2379:
2367:
2365:
2355:
2354:
2350:
2337:
2335:
2325:
2324:
2320:
2307:
2305:
2295:
2294:
2290:
2278:
2276:
2266:
2265:
2261:
2252:
2250:
2241:
2240:
2236:
2226:
2224:
2214:
2213:
2209:
2199:
2197:
2190:
2175:
2174:
2170:
2160:Hughes Aircraft
2149:
2145:
2136:
2134:
2127:
2112:
2111:
2107:
2101:
2084:
2083:
2079:
2070:
2068:
2026:
2025:
2021:
1989:
1984:
1983:
1979:
1969:
1967:
1957:
1956:
1952:
1942:
1940:
1930:
1929:
1925:
1916:
1914:
1898:
1897:
1893:
1884:
1882:
1877:, Google Inc.,
1866:
1865:
1861:
1851:
1849:
1842:
1827:
1826:
1817:
1812:
1807:
1806:
1801:
1797:
1792:
1788:
1783:
1779:
1773:
1769:
1764:
1760:
1755:
1750:
1686:
1668:
1660:
1616:
1604:
1598:
1576:
1570:
1561:
1553:
1541:
1533:
1525:
1520:
1519:
1476:
1468:
1463:
1462:
1435:
1427:
1417:followed by an
1413:, or to mean a
1395:
1387:
1321:
1315:
1303:
1285:
1279:
1267:
1251:
1243:
1232:
1220:
1208:
1196:
1181:
1173:
1161:
1155:
1143:
1134:
1100:
1094:
1089:
1088:
1073:
1065:
1042:
1026:
988:
964:
948:
942:
934:
922:
916:
908:
861:
853:
840:
831:
818:
805:
796:
791:
782:
773:
747:
711:
705:
637:
597:
591:
589:Version merging
567:
550:
544:
532:
515:
503:
419:
417:Graph structure
364:
316:
310:
282:revision number
262:
258:
227:
196:word processors
149:(also known as
147:Version control
140:
129:
123:
120:
77:
75:
65:
53:
42:
35:
28:
23:
22:
15:
12:
11:
5:
3553:
3551:
3543:
3542:
3537:
3532:
3527:
3522:
3512:
3511:
3505:
3504:
3502:
3501:
3494:
3487:
3479:
3476:
3475:
3473:
3472:
3467:
3462:
3457:
3452:
3447:
3442:
3441:
3440:
3430:
3429:
3428:
3418:
3413:
3412:
3411:
3401:
3395:
3393:
3389:
3388:
3385:
3384:
3382:
3381:
3375:
3367:
3366:
3365:
3359:
3349:
3347:
3343:
3342:
3340:
3339:
3333:
3327:
3321:
3313:
3307:
3301:
3293:
3287:
3279:
3273:
3264:
3262:
3255:
3249:
3248:
3245:
3244:
3242:
3241:
3233:
3227:
3221:
3215:
3209:
3203:
3197:
3191:
3188:Perforce Helix
3185:
3179:
3171:
3165:
3157:
3151:
3150:
3149:
3139:
3126:
3119:
3117:
3113:
3112:
3110:
3109:
3103:
3097:
3091:
3084:
3082:
3075:
3071:
3070:
3063:
3061:
3058:
3057:
3055:
3054:
3046:
3040:
3034:
3027:
3025:
3019:
3018:
3016:
3015:
3009:
3002:
3000:
2991:
2987:
2986:
2979:
2976:
2975:
2970:
2968:
2967:
2960:
2953:
2945:
2939:
2938:
2926:
2913:
2912:External links
2910:
2907:
2906:
2876:
2846:
2832:. 2018-03-03.
2821:
2801:
2779:
2757:
2728:
2702:
2688:
2672:
2642:
2639:on 2009-03-21.
2624:
2606:
2595:
2584:
2573:
2555:
2535:
2520:
2494:
2465:
2435:
2406:
2377:
2348:
2318:
2288:
2259:
2234:
2207:
2188:
2168:
2143:
2125:
2105:
2099:
2077:
2039:(7): 637–654.
2019:
2000:(4): 364–370.
1977:
1950:
1923:
1909:. p. 14.
1891:
1859:
1840:
1814:
1813:
1811:
1808:
1805:
1804:
1795:
1786:
1777:
1767:
1757:
1756:
1754:
1751:
1749:
1748:
1743:
1738:
1733:
1728:
1723:
1718:
1713:
1708:
1703:
1698:
1693:
1691:Change control
1687:
1685:
1682:
1667:
1664:
1659:
1656:
1615:
1612:
1600:Main article:
1597:
1594:
1572:Main article:
1569:
1566:
1560:
1557:
1552:
1549:
1540:
1537:
1532:
1529:
1524:
1521:
1477:
1469:
1467:
1464:
1436:
1428:
1426:
1423:
1394:
1391:
1386:
1383:
1382:
1381:
1370:
1359:
1344:
1317:Main article:
1314:
1311:
1302:
1299:
1295:social locking
1281:Main article:
1278:
1275:
1266:
1263:
1250:
1247:
1242:
1239:
1231:
1228:
1219:
1216:
1207:
1204:
1195:
1192:
1180:
1177:
1172:
1171:Dynamic stream
1169:
1157:Main article:
1154:
1151:
1142:
1139:
1133:
1132:Commit message
1130:
1096:Main article:
1093:
1090:
1074:
1066:
1064:
1061:
1041:
1038:
1025:
1022:
987:
984:
963:
960:
944:Main article:
941:
938:
933:
930:
918:Main article:
915:
912:
907:
904:
860:
857:
852:
849:
839:
836:
830:
827:
817:
814:
804:
801:
795:
792:
790:
787:
781:
778:
772:
769:
763:and automated
746:
745:Best practices
743:
742:
741:
734:
733:
730:
707:Main article:
704:
701:
693:uses the term
666:and either of
636:
633:
593:Main article:
590:
587:
566:
563:
546:Main article:
543:
540:
531:
528:
514:
511:
502:
499:
418:
415:
363:
360:
354:tools such as
309:
306:
290:revision level
274:version number
263:/usr/local/etc
226:
223:
167:computer files
155:source control
142:
141:
56:
54:
47:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
3552:
3541:
3538:
3536:
3533:
3531:
3528:
3526:
3523:
3521:
3518:
3517:
3515:
3500:
3499:
3495:
3493:
3492:
3488:
3486:
3485:
3481:
3480:
3477:
3471:
3468:
3466:
3463:
3461:
3458:
3456:
3453:
3451:
3448:
3446:
3443:
3439:
3436:
3435:
3434:
3431:
3427:
3424:
3423:
3422:
3419:
3417:
3414:
3410:
3407:
3406:
3405:
3402:
3400:
3397:
3396:
3394:
3390:
3379:
3376:
3373:
3372:
3368:
3363:
3360:
3357:
3354:
3353:
3352:Azure DevOps
3351:
3350:
3348:
3344:
3337:
3334:
3331:
3328:
3325:
3322:
3319:
3318:
3314:
3311:
3308:
3305:
3302:
3299:
3298:
3294:
3291:
3288:
3285:
3284:
3280:
3277:
3274:
3271:
3270:
3266:
3265:
3263:
3259:
3256:
3254:
3250:
3239:
3238:
3234:
3231:
3228:
3225:
3222:
3219:
3216:
3213:
3210:
3207:
3204:
3201:
3198:
3195:
3192:
3189:
3186:
3183:
3180:
3177:
3176:
3172:
3169:
3168:Dimensions CM
3166:
3163:
3162:
3158:
3155:
3152:
3147:
3143:
3140:
3137:
3133:
3130:
3129:
3128:Azure DevOps
3127:
3124:
3121:
3120:
3118:
3114:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3085:
3083:
3079:
3076:
3074:Client–server
3072:
3067:
3052:
3051:
3047:
3044:
3041:
3038:
3035:
3032:
3031:The Librarian
3029:
3028:
3026:
3024:
3020:
3013:
3010:
3007:
3004:
3003:
3001:
2999:
2995:
2992:
2988:
2983:
2977:
2973:
2966:
2961:
2959:
2954:
2952:
2947:
2946:
2943:
2934:
2933:
2927:
2923:
2922:
2916:
2915:
2911:
2895:
2891:
2890:TheServerSide
2887:
2880:
2877:
2865:
2861:
2857:
2850:
2847:
2835:
2831:
2825:
2822:
2811:
2805:
2802:
2789:
2783:
2780:
2767:
2761:
2758:
2746:
2742:
2735:
2733:
2729:
2717:
2713:
2712:"GitLab Flow"
2706:
2703:
2698:
2692:
2689:
2685:
2681:
2676:
2673:
2661:
2657:
2653:
2646:
2643:
2638:
2634:
2628:
2625:
2622:
2618:
2615:
2610:
2607:
2604:
2599:
2596:
2593:
2588:
2585:
2582:
2577:
2574:
2563:on 2007-12-21
2562:
2558:
2556:0-596-10185-6
2552:
2548:
2547:
2539:
2536:
2531:
2527:
2523:
2517:
2513:
2509:
2505:
2498:
2495:
2491:
2480:
2476:
2469:
2466:
2462:
2450:
2446:
2439:
2436:
2432:
2421:
2417:
2410:
2407:
2403:
2392:
2388:
2381:
2378:
2374:
2363:
2359:
2352:
2349:
2345:
2333:
2329:
2322:
2319:
2315:
2303:
2299:
2292:
2289:
2285:
2274:
2270:
2263:
2260:
2249:
2245:
2238:
2235:
2222:
2218:
2211:
2208:
2195:
2191:
2185:
2181:
2180:
2172:
2169:
2165:
2161:
2157:
2153:
2147:
2144:
2132:
2128:
2122:
2118:
2117:
2109:
2106:
2102:
2100:0-596-00448-6
2096:
2091:
2090:
2081:
2078:
2066:
2062:
2058:
2054:
2050:
2046:
2042:
2038:
2034:
2030:
2023:
2020:
2015:
2011:
2007:
2003:
1999:
1995:
1988:
1981:
1978:
1965:
1961:
1954:
1951:
1938:
1934:
1927:
1924:
1912:
1908:
1904:
1903:
1895:
1892:
1880:
1876:
1875:
1870:
1863:
1860:
1847:
1843:
1837:
1833:
1832:
1824:
1822:
1820:
1816:
1809:
1799:
1796:
1790:
1787:
1781:
1778:
1771:
1768:
1762:
1759:
1752:
1747:
1744:
1742:
1739:
1737:
1734:
1732:
1729:
1727:
1724:
1722:
1719:
1717:
1714:
1712:
1709:
1707:
1704:
1702:
1699:
1697:
1694:
1692:
1689:
1688:
1683:
1681:
1679:
1678:
1673:
1665:
1663:
1657:
1655:
1653:
1649:
1645:
1641:
1637:
1633:
1629:
1625:
1621:
1613:
1611:
1609:
1603:
1595:
1593:
1591:
1587:
1583:
1582:
1575:
1567:
1565:
1558:
1556:
1550:
1548:
1546:
1538:
1536:
1530:
1528:
1522:
1517:
1513:
1509:
1505:
1501:
1497:
1493:
1489:
1485:
1481:
1474:
1465:
1460:
1455:
1453:
1448:
1446:
1442:
1433:
1424:
1422:
1420:
1416:
1412:
1408:
1404:
1400:
1392:
1390:
1384:
1379:
1375:
1371:
1368:
1364:
1360:
1357:
1353:
1349:
1345:
1342:
1338:
1334:
1333:
1332:
1330:
1326:
1320:
1312:
1310:
1308:
1300:
1298:
1296:
1292:
1291:
1284:
1276:
1274:
1272:
1264:
1262:
1260:
1256:
1248:
1246:
1240:
1238:
1236:
1229:
1227:
1225:
1217:
1215:
1213:
1205:
1203:
1201:
1193:
1191:
1189:
1185:
1178:
1176:
1170:
1168:
1166:
1160:
1152:
1150:
1148:
1140:
1138:
1131:
1129:
1127:
1123:
1119:
1115:
1111:
1107:
1106:
1099:
1092:Commit (verb)
1091:
1086:
1082:
1078:
1071:
1063:Commit (noun)
1062:
1060:
1058:
1054:
1050:
1046:
1039:
1037:
1035:
1031:
1023:
1021:
1019:
1015:
1014:
1009:
1005:
1001:
997:
993:
985:
983:
981:
980:
975:
974:
969:
961:
959:
957:
953:
947:
939:
937:
931:
929:
927:
921:
913:
911:
905:
903:
901:
897:
893:
889:
885:
884:Visual Studio
881:
877:
876:IntelliJ IDEA
873:
869:
865:
858:
856:
850:
848:
844:
837:
835:
828:
826:
822:
815:
813:
810:
802:
800:
793:
788:
786:
779:
777:
770:
768:
766:
762:
757:
753:
744:
739:
738:
737:
731:
728:
727:
726:
724:
720:
716:
715:client–server
710:
702:
700:
698:
697:
692:
687:
685:
681:
677:
673:
669:
665:
660:
657:
655:
651:
647:
643:
634:
632:
630:
629:reserved edit
625:
623:
619:
614:
610:
605:
603:
596:
588:
586:
582:
580:
576:
575:locking files
572:
564:
562:
559:
555:
549:
548:Atomic commit
541:
539:
537:
529:
527:
525:
521:
512:
510:
508:
500:
498:
494:
491:
487:
482:
479:
477:
472:
468:
464:
460:
459:directed tree
456:
452:
448:
442:
440:
436:
432:
423:
416:
414:
412:
408:
403:
401:
395:
392:
388:
384:
380:
379:checking out,
375:
373:
367:
361:
359:
357:
353:
349:
345:
341:
337:
332:
330:
326:
325:The Librarian
321:
318:IBM's OS/360
315:
307:
305:
303:
299:
295:
291:
287:
283:
279:
275:
270:
268:
256:
251:
247:
243:
241:
237:
232:
224:
222:
220:
215:
213:
209:
205:
201:
197:
193:
192:software tool
189:
184:
182:
177:
175:
172:
168:
164:
160:
156:
152:
148:
138:
135:
127:
116:
113:
109:
106:
102:
99:
95:
92:
88:
85: –
84:
80:
79:Find sources:
73:
69:
63:
62:
57:This article
55:
51:
46:
45:
40:
33:
19:
3496:
3489:
3482:
3369:
3315:
3295:
3281:
3267:
3235:
3224:Team Concert
3212:Surround SCM
3173:
3159:
3048:
2981:
2971:
2931:
2920:
2898:. Retrieved
2889:
2879:
2868:. Retrieved
2860:TechRepublic
2859:
2849:
2838:. Retrieved
2824:
2813:. Retrieved
2804:
2792:. Retrieved
2782:
2770:. Retrieved
2760:
2748:. Retrieved
2744:
2719:. Retrieved
2715:
2705:
2696:
2691:
2675:
2664:. Retrieved
2655:
2645:
2637:the original
2627:
2609:
2598:
2587:
2576:
2565:. Retrieved
2561:the original
2549:. O'Reilly.
2545:
2538:
2503:
2497:
2489:
2483:. Retrieved
2468:
2459:
2453:. Retrieved
2438:
2430:
2424:. Retrieved
2409:
2401:
2395:. Retrieved
2380:
2372:
2366:. Retrieved
2351:
2342:
2336:. Retrieved
2321:
2312:
2306:. Retrieved
2291:
2283:
2277:. Retrieved
2262:
2251:. Retrieved
2247:
2237:
2225:. Retrieved
2221:the original
2210:
2198:. Retrieved
2178:
2171:
2155:
2146:
2135:. Retrieved
2115:
2108:
2093:, O'Reilly,
2088:
2080:
2069:. Retrieved
2036:
2032:
2022:
1997:
1993:
1980:
1968:. Retrieved
1953:
1941:. Retrieved
1926:
1915:. Retrieved
1901:
1894:
1883:, retrieved
1873:
1862:
1850:. Retrieved
1830:
1798:
1789:
1780:
1770:
1761:
1675:
1672:working copy
1671:
1669:
1666:Working copy
1661:
1651:
1647:
1643:
1640:working copy
1639:
1635:
1631:
1627:
1623:
1619:
1617:
1605:
1585:
1579:
1577:
1574:Revision tag
1562:
1554:
1542:
1534:
1526:
1515:
1449:
1444:
1440:
1437:
1425:Pull request
1418:
1414:
1410:
1406:
1402:
1398:
1396:
1388:
1377:
1373:
1366:
1362:
1355:
1351:
1347:
1340:
1336:
1328:
1324:
1322:
1306:
1304:
1294:
1288:
1286:
1283:File locking
1270:
1268:
1252:
1244:
1234:
1233:
1223:
1221:
1211:
1209:
1199:
1197:
1188:checking out
1187:
1183:
1182:
1174:
1162:
1146:
1144:
1135:
1125:
1121:
1117:
1113:
1109:
1103:
1101:
1056:
1052:
1048:
1044:
1043:
1033:
1029:
1027:
1017:
1011:
1007:
1003:
999:
995:
989:
977:
971:
967:
965:
955:
951:
949:
935:
923:
909:
892:NetBeans IDE
862:
854:
845:
841:
832:
823:
819:
806:
797:
783:
774:
748:
735:
712:
695:
688:
683:
679:
675:
671:
667:
663:
661:
658:
653:
649:
645:
641:
638:
628:
626:
606:
598:
583:
568:
565:File locking
557:
553:
551:
533:
516:
504:
495:
489:
483:
474:
470:
466:
462:
455:linear graph
451:graph theory
446:
443:
434:
431:graph theory
429:In terms of
428:
406:
404:
400:file locking
396:
390:
386:
382:
378:
376:
368:
365:
333:
317:
297:
293:
289:
285:
281:
277:
273:
271:
252:
248:
244:
228:
216:
200:spreadsheets
187:
185:
178:
169:; primarily
158:
154:
150:
146:
145:
130:
121:
111:
104:
97:
90:
78:
66:Please help
61:verification
58:
3438:Interleaved
3378:Plastic SCM
3346:Proprietary
3253:Distributed
3123:AccuRev SCM
3116:Proprietary
3023:Proprietary
2790:. Atlassian
2314:production.
1869:Google Docs
1852:4 September
1378:cherry pick
1352:checked out
1329:integration
1305:Similar to
996:change list
986:Change list
851:Integration
761:code review
613:image files
407:repository,
171:source code
3514:Categories
3491:Comparison
3465:Repository
3324:GNU Bazaar
3283:Code Co-op
3106:Subversion
2990:Local only
2982:in italics
2900:2022-04-24
2870:2022-04-24
2840:2020-07-10
2815:2012-04-20
2666:2012-12-16
2567:2006-08-27
2485:2022-11-18
2455:2022-11-18
2426:2022-11-18
2397:2022-11-18
2368:2022-11-18
2338:2022-11-21
2308:2022-11-18
2279:2022-11-18
2253:2022-11-11
2248:gitlab.com
2137:2023-03-22
2071:2023-12-28
1970:August 17,
1943:August 17,
1917:2022-02-19
1885:2021-04-21
1810:References
1701:Blockchain
1648:changelist
1500:Subversion
1480:repository
1466:Repository
1393:Pull, push
1354:, and the
1241:Initialize
1004:change set
609:text files
579:repository
391:committed.
387:checked in
383:repository
348:Subversion
312:See also:
174:text files
124:April 2011
94:newspapers
3416:Changeset
3330:Mercurial
3269:BitKeeper
3182:Integrity
3154:ClearCase
2810:"SVNBook"
2416:"Pro Git"
2053:0038-0644
1696:Changelog
1658:Unlocking
1496:Mercurial
1235:Importing
1184:Exporting
1077:changeset
1070:Changeset
1030:check out
900:GNU Emacs
719:bona-fide
520:CAD files
507:bluelines
467:mainline.
362:Structure
302:timestamp
219:reverting
161:) is the
3484:Category
3460:Monorepo
3399:Baseline
3392:Concepts
3371:TeamWare
3362:Services
3336:Monotone
3317:GNU arch
3206:StarTeam
3196:(1980s?)
3148:) (2014)
3142:Services
3138:) (2005)
3037:Panvalet
2935:(how-to)
2894:Archived
2864:Archived
2834:Archived
2794:27 March
2772:27 March
2768:. GitHub
2750:27 March
2745:Oaawatch
2721:4 August
2660:Archived
2617:Archived
2479:Archived
2449:Archived
2420:Archived
2391:Archived
2362:Archived
2332:Archived
2302:Archived
2273:Archived
2242:GitLab.
2194:Archived
2131:Archived
2065:Archived
2014:10006076
1964:Archived
1937:Archived
1911:Archived
1879:archived
1846:Archived
1684:See also
1652:checkout
1508:Perforce
1484:metadata
1374:branched
1348:check in
1301:Mainline
1141:Conflict
1110:check in
1024:Checkout
952:branched
914:Baseline
870:such as
789:Benefits
696:baseline
684:baseline
664:baseline
646:baseline
329:Panvalet
320:IEBUPDTE
286:revision
225:Overview
210:, e.g.,
204:web docs
3218:Synergy
3202:(1970s)
3170:(1980s)
3039:(1970s)
2200:20 July
2061:2605086
1677:sandbox
1545:version
1523:Resolve
1385:Promote
1337:updates
1277:Locking
1147:resolve
1118:install
1051:ing or
1045:Cloning
1018:changes
880:Eclipse
864:Plugins
809:patches
756:commits
723:patches
308:History
278:version
108:scholar
3421:Commit
3404:Branch
3380:(2006)
3374:(1992)
3356:Server
3338:(2003)
3332:(2005)
3326:(2005)
3320:(2001)
3312:(2005)
3306:(2007)
3304:Fossil
3300:(2002)
3292:(2002)
3286:(1997)
3278:(2017)
3276:Breezy
3272:(2000)
3240:(1994)
3232:(2003)
3226:(2008)
3220:(1990)
3214:(2002)
3208:(1995)
3190:(1995)
3184:(2001)
3178:(1984)
3164:(1994)
3156:(1992)
3132:Server
3125:(2002)
3108:(2000)
3102:(1998)
3096:(1998)
3053:(1991)
3045:(1985)
3033:(1969)
3014:(1973)
3008:(1982)
2716:GitLab
2553:
2530:360545
2528:
2518:
2227:May 8,
2186:
2123:
2097:
2059:
2051:
2012:
1907:Apress
1838:
1644:Update
1626:, but
1620:update
1614:Update
1559:Stream
1512:server
1419:update
1363:branch
1230:Import
1179:Export
1126:record
1122:submit
1105:commit
1081:atomic
1008:update
992:atomic
968:change
962:Change
956:forked
940:Branch
898:, and
888:Delphi
622:plugin
558:commit
554:atomic
536:server
490:patch,
471:parent
236:branch
206:, and
157:, and
110:
103:
96:
89:
81:
3455:Merge
3426:Gated
3409:Trunk
3290:Darcs
3230:Vault
3144:(via
3134:(via
3094:CVSNT
2526:S2CID
2057:S2CID
2010:S2CID
1990:(PDF)
1753:Notes
1608:trunk
1596:Trunk
1586:label
1551:Share
1516:heads
1506:, or
1445:merge
1407:Fetch
1367:trunk
1341:syncs
1325:merge
1313:Merge
1307:trunk
1290:locks
1265:Label
1212:trunk
1194:Fetch
1057:clone
1040:Clone
1013:patch
1010:, or
979:delta
976:, or
932:Blame
896:Xcode
780:Costs
676:label
668:label
652:, or
650:label
618:logic
602:merge
522:(see
476:merge
463:trunk
449:. In
435:trunk
288:, or
240:trunk
190:is a
115:JSTOR
101:books
3498:List
3450:Fork
3297:DCVS
3194:SCLM
3175:DSEE
3161:CMVC
3146:TFVC
3136:TFVC
3050:QVCS
3043:PVCS
3012:SCCS
2796:2016
2774:2016
2752:2016
2723:2018
2551:ISBN
2516:ISBN
2229:2007
2202:2019
2184:ISBN
2121:ISBN
2095:ISBN
2049:ISSN
1998:SE-1
1972:2023
1945:2023
1854:2015
1836:ISBN
1670:The
1636:pull
1634:and
1632:push
1628:sync
1624:sync
1622:(or
1606:The
1441:pull
1415:pull
1411:pull
1403:push
1399:Pull
1269:See
1218:Head
1200:pull
1198:See
1053:pull
1049:push
1032:(or
998:(or
973:diff
970:(or
868:IDEs
678:and
327:and
267:Unix
259:/etc
231:Bugs
87:news
3470:Tag
3310:Git
3088:CVS
3006:RCS
2932:SCM
2508:doi
2158:of
2041:doi
2002:doi
1871:",
1642:.
1618:An
1584:or
1581:tag
1568:Tag
1504:CVS
1494:or
1492:Git
1339:or
1327:or
1297:).
1271:tag
1224:tip
1124:or
1102:To
1028:To
1002:),
954:or
680:tag
672:tag
670:or
654:tag
465:or
447:tip
389:or
372:Git
356:Git
340:RCS
265:on
261:or
242:).
214:.
70:by
3516::
2892:.
2888:.
2862:.
2858:.
2743:.
2731:^
2714:.
2682:,
2658:.
2654:.
2524:.
2514:.
2488:.
2477:.
2458:.
2447:.
2429:.
2400:.
2389:.
2371:.
2360:.
2341:.
2330:.
2311:.
2300:.
2282:.
2271:.
2246:.
2192:.
2129:.
2063:.
2055:.
2047:.
2037:15
2035:.
2031:.
2008:.
1996:.
1992:.
1844:.
1818:^
1680:.
1592:.
1578:A
1543:A
1502:,
1421:.
1361:A
1323:A
1273:.
1261:.
1202:.
1120:,
1114:ci
1112:,
1034:co
1006:,
1000:CL
966:A
928:.
894:,
890:,
886:,
882:,
878:,
874:,
699:.
648:,
358:.
331:.
284:,
280:,
276:,
198:,
186:A
183:.
153:,
2964:e
2957:t
2950:v
2925:.
2903:.
2873:.
2843:.
2818:.
2798:.
2776:.
2754:.
2725:.
2669:.
2570:.
2532:.
2510::
2256:.
2231:.
2204:.
2140:.
2074:.
2043::
2016:.
2004::
1974:.
1947:.
1920:.
1889:.
1867:"
1856:.
1518:.
1475:.
1434:.
1369:.
1108:(
1087:.
1072:.
642:X
478:,
298:2
294:1
137:)
131:(
126:)
122:(
112:·
105:·
98:·
91:·
64:.
41:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.