While you can’t go back in time, the Undo key (combined with the undo key) can restore at least a few minutes of action. What if the error happened last week? This video recommends a version control system that does much more than undo.

Video address:www.zentao.net/programmer/…

What is version control?

A version control system acts as a time machine for a project, keeping all the files it maintains in a “repository” and keeping track of changes. During software development, ensure that the same file edited by different people is synchronized.

Versioning can solve these problems:

1. Version storage

With a version control system, details of all releases and changes are saved, and team members can access any previous release at any time, provided it is properly named.

2. Collaboration

In a version control system, each member of the team can edit the same file at the same time, automatically merging the editing parts and resolving merge conflicts.

3, backup,

Each team member will have a complete copy of the project locally, including a history of the entire project. If there is a problem with one member’s storage, all the files needed for recovery are available in the other member’s local repository.

4. Understand what happened

The version control system displays details of all changes made between the current version and the previous version:

  • Who changed this line of code?
  • How many lines of code have we changed in the current version?
  • What are the differences between the current version and the last version……

Evolution of a version control system

1. Local version control system

Description: A simple database is used to record the differences between files over time.

Advantages: There is no need to copy the project frequently, which avoids the problem of confusing and confusing the project information

Cons: Can’t solve multi-person collaboration problems

Tool: RCS

2. Centralized version control system

Description: Resolves multi-party collaboration issues for local version control systems.

Advantages:

  • Simple operation, only need to pull the code, submit the code;
  • Basically solve the problem of multiplayer collaboration, everyone can pull the latest code synchronization partner’s progress from the server;
  • Administrators can easily control the permissions of each developer;
  • You just need to maintain the database on the central server.

Disadvantages:

  • Update submission requires network interaction with the server, which requires high network requirements;
  • It’s risky. Once the server goes down, everyone can’t work. If the server disk is damaged, all historical data will be lost if it is not backed up.

Representative tools: CVS and SVN

3. Distributed version control system

Description: Addresses the shortcomings of centralized version control systems.

Advantages:

  • Decentralized, with a complete repository pulled from a central server;
  • Even if one machine goes down, a full backup of the files can be found.

Stand for tool: Git

Today, with the help of version control tools, the integration of the version control system with the development environment, the granting of administrative rights, and more features have been unlocked. A broader area of version control full of collaboration, issue tracking, team communication, etc.

More wonderful video sharing: www.zentao.net/page/colleg…