Getting Started with Git (1. History)
Getting Started with Git (2. Basics)
Getting Started with Git (3. File operations)
Getting Started with Git (4. Submission and history)
Getting Started with git (5. Branch)
Getting Started with Git (6.repo)
Version control
Version control what has not been said, is to record our changes to files, directories or engineering history, easy to view the change history, backup to restore the previous version, multi-person collaboration ...
First, the original version control
The most primitive version control is purely manual version control: Modify the file, save the file copy. Sometimes lazy, save the copy when the name is more casual, long time do not know which is new, which is old, even if you know the new and old, may not know what the content of each version, relative to the previous version of what has been modified, when a few versions of the past, it is likely that the following look:
650) this.width=650; "class=" Confluence-embedded-image "src=" http://wiki.sankuai.com/download/attachments/ 326719775/image2015-8-17%2013%3a17%3a10.png?version=1&modificationdate=1439788768000&api=v2 "Style=" margin:0px 2px;padding:0px;border:0px; "alt=" Image2015-8-17%2013%3a17%3a10.png?versio "/>
Second, local version control
Manual management is cumbersome and confusing, so there is a local version control system, log files each time the update, you can take a snapshot of each version, or record the patch file. such as RCS.
650) this.width=650; "class=" Confluence-embedded-image "src=" http://wiki.sankuai.com/download/attachments/ 326719775/image2015-8-17%2013%3a17%3a25.png?version=1&modificationdate=1439788768000&api=v2 "Style=" margin:0px 2px;padding:0px;border:0px; "alt=" Image2015-8-17%2013%3a17%3a25.png?versio "/>
Three, centralized version control
However, the local version control system is biased towards personal use, or multiple users must use the same device, if more people need to collaborate is not easy to do, so, centralized version control system (centralized version controls systems, referred to as CVCS) came into being, Like Subversion,perforce.
In CVCs, all version data is saved on the server, and people working together update or upload their own changes from the server.
650) this.width=650; "class=" Confluence-embedded-image "src=" http://wiki.sankuai.com/download/attachments/ 326719775/image2015-8-17%2013%3a17%3a45.png?version=1&modificationdate=1439788768000&api=v2 "Style=" margin:0px 2px;padding:0px;border:0px; "alt=" Image2015-8-17%2013%3a17%3a45.png?versio "/>
However, all version data exists on the server, the user's local device is only the version of the previous synchronization, if not connected, users can not see the historical version, can not switch version verification issues, or work in different branches.
Moreover, all data is stored on a single server, there is a great risk that the server will be corrupted, so that all the data will be lost, of course, can be backed up regularly.
Iv. Distributed version Control
For the above shortcomings of CVCs, a distributed Versioning system (distributed version control systems, referred to as DVCS) appears, such as Git,mercurial.
Instead of copying a snapshot of the specified version, Dvcs synchronizes all repository repositories locally so that all version history can be viewed locally, and can be submitted offline locally, simply by pushing to the appropriate server or other user at the time of networking. Since each user is saving all the version data, all data can be recovered as long as there is no problem with a user's device.
650) this.width=650; "class=" Confluence-embedded-image "src=" http://wiki.sankuai.com/download/attachments/ 326719775/image2015-8-17%2013%3a18%3a5.png?version=1&modificationdate=1439788768000&api=v2 "Style=" margin:0px 2px;padding:0px;border:0px; "alt=" Image2015-8-17%2013%3a18%3a5.png?version "/>
This, of course, increases the footprint of the local storage space.
--------------------------------------------attachment is the whole content--------------------------------------------------------
Version control. doc
----------------------------------------------reprinted from----------------------------------------------------------------------
Http://www.cnblogs.com/angeldevil/p/3238470.html
Getting Started with Git (1. History)