The role of the various versions of the controller

Action version of the controller:

1. synergistically code management, development code so that people can be achieved.

2. Return to the code at any previous point in time (such as: beginning to write a lot of code, followed by a revised some, the sudden collapse of the IDE, but still found the previous code better, this time can not go back, this time not regret it eat, but you can use a backup version, but it takes time and space that is spent).

3. Due to the above version of backup caused many versions, it is difficult to find the correct version (SVN have a special log records each time to modify the file, you can return to any version you want by viewing the log).

Question 4. Code of conflict, mainly people operate the same file (team development is very common).

5. You can view each person's specific operations, to facilitate timely investigation (due to an individual employee errors caused great bug, can easily be held accountable) after a problem occurs.

Common version control classification

CVS (90 years of development, the originator of the version of the controller), SVN (CVS successor),VSS(Microsoft product), GIT (Linus Development)

 

SVN

SVN: Code Controller (version control), mainly to people co-development projects, management code. You can also manage personal code. Also known as community program "regret."

SVN (subversion is the abbreviation) in recent years, based on a C / S architecture, very good version control (can be understood as a simple tool for managing code, when more than collaborative development, especially important), and traditional similar CVS (around 90 years, a very good code manager, is the originator of the code manager) management tools.

SVN may over time to manage data, which is placed in the center of a warehouse management SVN (the set of all code) inside. SVN is backed up at the same time and record each file modification update every change. So that the developer can return to a certain point in time any old version (for SVN, did not modify a file, SVN will create a concept called version, are zero auto-incremented sequence). Of course, you can specify the update history file (index.php).

SVN also known as centralized version control. It relies heavily on the server side, when the server can not be used, version control will not be used again.

svn work flow chart

 

GIT​

Git is the world's most advanced distributed version control system (no one). When a client of any problems with this system, can be (even if the server hung up) get all the code from another client.

 

SVN and GIT difference:

1.GIT is distributed, and SVN is centralized

2.GIT the content according to metadata stored, and SVN is by file: Because the directory is in a git clone of the repository on a personal machine, it has all the stuff on the central repository, such as labels, branch imprint Wait.

3.GIT different branches and SVN branch: svn branch will miss happening, and git can quickly switch between several branches under the same working directory, it is easy to find unincorporated branches, simple and fast to merge file.

4.GIT not have a global version number, but there is SVN

5.GIT content integrity is superior to SVN: GIT content storage using the SHA-1 hash algorithm. This ensures the integrity of the content of the code, make sure to reduce damage to the repository in the event of disk failure and network problems.

 

The difference between centralized and distributed:

Centralized version control systems: centralized repository is stored in a central server, while the work time, are used in your computer, it must first get the latest version from a central server, and then start to work, the work was done , then his job on to the central server. The biggest problem is a centralized version control systems must be networked to work.

Distributed version control systems: Distributed version control systems did not have "central server" on everyone's computer is a complete repository, so when you work, you do not need networking, because in the repository on your own computer. Let's say you change a file on your computer A, your colleagues also changed the file on his computer A, then, between the two of you just need to modify their respective pushed to the other side, we can see each other's edited.

In order to facilitate the "exchange" Everybody changes, distributed version control systems usually have to act as a "central server" computer, but without it we all work the same, but it is not convenient to modify the exchange.

Distributed version control systems security is much higher, because everyone has a complete computer repository, a personal computer is broken does not matter, just a copy on it from others. The central server centralized version control system becomes a problem, the owner no law at work.

Guess you like

Origin www.cnblogs.com/mark5/p/11655202.html