User Tools

Site Tools


version_control:introduction_to_version_control_systems

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
version_control:introduction_to_version_control_systems [2016/11/27 23:20] mithatversion_control:introduction_to_version_control_systems [2016/11/27 23:47] mithat
Line 47: Line 47:
 ===== Distributed systems ===== ===== Distributed systems =====
   * Replacing centralized systems.   * Replacing centralized systems.
-  * Distributed systems use a peer-to-peer architecture. +  * Uses a peer-to-peer architecture. 
-  * Individual users have complete, fully editable repositories. +    * Individual users have complete, fully editable repositories. 
-  * Users synchronize their repositories with each other as needed.+    * Users synchronize repositories with each other as needed.
   * Managing can be more complicated for groups, but is more flexible.   * Managing can be more complicated for groups, but is more flexible.
   * Can be configured to work like to a centralized system.   * Can be configured to work like to a centralized system.
Line 55: Line 55:
  
 ===== Revisions ===== ===== Revisions =====
-  * **revision** is a snapshot of the state of a project at a given moment.+  * **revision**a snapshot of the state of a project at a given moment.
   * When a meaningful change to the code of a project is completed, a **revision** incorporating that change is **committed** (placed) into the repository.   * When a meaningful change to the code of a project is completed, a **revision** incorporating that change is **committed** (placed) into the repository.
-  * Revisions are also called **commits**, **snapshots**, and **changesets**.+  * Also called **commit**, **snapshot**, or **changeset**.
   * If needed, differences between the most recent state and older revisions can be determined.   * If needed, differences between the most recent state and older revisions can be determined.
  
Line 65: Line 65:
  
 ===== Branching ===== ===== Branching =====
-  * **Branching**: making a copy of the project whose development will go in parallel with the original.+  * **branching**: making a copy of the project whose development will go in parallel with the original.
     * A branch to test ideas that develops in parallel with the main release.     * A branch to test ideas that develops in parallel with the main release.
     * A branch to develop a bugfix.     * A branch to develop a bugfix.
Line 71: Line 71:
  
 ===== Merging ===== ===== Merging =====
-  * **Merging**: incorporating changes from a different branch or another repository.+  * **merging**: incorporating changes from a different branch or another repository.
     * Applying a security update or bugfix developed for a 1.1 release to the 1.0 release.     * Applying a security update or bugfix developed for a 1.1 release to the 1.0 release.
   * Many VCS's facilitate merging.   * Many VCS's facilitate merging.
Line 79: Line 79:
  
 ===== Releases and versions ===== ===== Releases and versions =====
-  * A revision that has has been published for general use is a **release** or a **version**. +  * A **release** or a **version** is a revision that has has been published for general use
-  Not necessarily a VCS concept; often an arbitrary determination made by the developers.+    An arbitrary determination made by the developers, not necessarily a VCS concept.
   * Typically there are several revisions (commits) between releases/versions.   * Typically there are several revisions (commits) between releases/versions.
  
Line 89: Line 89:
 ===== Semantic versioning ===== ===== Semantic versioning =====
   * [[http://semver.org/|Semantic versioning]] summarizes a commonly used version numbering scheme.   * [[http://semver.org/|Semantic versioning]] summarizes a commonly used version numbering scheme.
-    * **{major}.{minor}.{path}** +    * **{major}.{minor}.{patch}** 
-    * **major**: version when you make incompatible API changes,+    * **major**: there are incompatible API changes,
     * **minor**: added functionality in a backwards-compatible manner.     * **minor**: added functionality in a backwards-compatible manner.
     * **patch**: backwards-compatible bug fixes.     * **patch**: backwards-compatible bug fixes.
     * Additional labels for pre-release and build metadata.     * Additional labels for pre-release and build metadata.
-        * alpha release, beta release, release candidate.+        * alpha, beta, release candidate.
  
 ===== Microsoft version numbering ===== ===== Microsoft version numbering =====
Line 111: Line 111:
  
 ===== Other versioning schemes ===== ===== Other versioning schemes =====
-  * Some projects use date-based versioning, e.g.: ''2015.06.23''''15.033'', etc.+  * Some projects use date-based versioning. 
 +    * ''2015.06.23'' 
 +    * ''15.033''
   * Whatever you do, be consistent and meaningful.   * Whatever you do, be consistent and meaningful.
  
version_control/introduction_to_version_control_systems.txt · Last modified: 2019/02/21 18:52 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki