The link between Git, GitHub, GitLab links between the three and the difference between Git, GitHub, and the difference between the three GitLab

The link between Git, GitHub, GitLab and the difference between the three

Before talking about the difference between first contact and a brief introduction, these three are what (this article for the novice just getting started, please go left Gangster)

1. What is Git?

Git is a version control system.

Version control is a record for one or more file content changes, facilitate our access to a specific version of the revision of the system.

In the absence of previous use version control, so we usually named items in our project root directory:

project_v1, project_v1.1, project_v2 and so on, we record the project in this way different versions of the changes,

Sometimes we'll write a note in the different versions of the file, record the new version of the project, modify, or delete operation.

Such operations are very complicated, sometimes because of some non-human factors may also lead to missing files such incidents.

With version control system, we do not have to manually do some complex operations, and for this accident and we do not file is missing

Use to worry about, you can easily return to a moment of history.

 

Version control system early stage are: SVN, CVS, etc., which are centralized version control system, there is a single centralized management

Server, saving revisions of all files, and collaboration of developers by clients to connect to this server, remove

The latest file or submit updates.

From the Internet to find a map showing what their principles:

And our protagonist Git is a distributed version control system. Git has become more and more popular developers because the advantages are distributed very significant.

 

2. talk about the difference between centralized and distributed version control system:

Centralized version control system, the repository is centrally stored in a central server, while working, using their own computers, so, we first need

The latest version pulled from a central server, and then began to work, and other work done, then submit their work to the central server. Here borrow Liao

A metaphor teacher Xuefeng, the central server is like a library, a book you want to change them, we must first take it out from the library to the book, and then

After the change, and then change the finish, and then back into the library.

One of the biggest problems centralized version control systems is the need to network to work, so for the relatively poor network environment using a centralized version control

The system is a more vexing thing.

 

Distributed version control system has no concept of a central server, we use not only the latest files related to the extraction of the client, but the complete code repository

Mirrored down, as if each person's computer is a complete repository, so that any one server fails to work, you can

Recovery with a mirror out of any local repository. And, do not worry, even under the network environment is relatively poor, because the repository on the local computer

on.

 

Personal summary:

(1) The local warehouse in distributed version control system that contains code libraries as well as the history of the library, you can view the version history locally

(2), while the history of the repository at the centralized version control system is present in a central repository, each compared with the code filed must be connected to a central warehouse

(3) When people develop, if acting as a central repository Git repository hang, any developer can create a new central warehouse at any time and can be synchronized

To restore central warehouse

From the Internet to find a map showing what their principles:

 

3.GitHub and GitLab are web-based Git repository, use both the same, they all provide a platform for sharing open source projects,

It provides developers with a team store, share, centralized cloud storage sites publish and co-development projects.

GitHub as open source code base, developers have more than 9 million users, and is still the hottest open source project hosting platform, while GitHub

The provision of public warehouses and private warehouses, but if you use a private warehouse, is the need to pay.

 

GitLab solve this problem, you can create a private free warehouse on it.

 

GitLab development team for their code repository have more control, compared to GitHub, it has many features:

(1) allow free warehouse setting permissions;

(2) allows the user to select a project to share a part of the code;

(3) allows the user to set the project acquired rights to further enhance security;

(4) can be set to get the whole team to improve progress;

(5) by innersourcing let people not within the purview not visit the resource;

 

Therefore, from the point of view of privacy codes, gitlab is a better choice. But for open source projects concerned, GitHub code hosting is still the first choice.

Guess you like

Origin www.cnblogs.com/fengzifengfeng/p/12020251.html