GIT tutorial: GIT and GIThub concepts and differences

table of Contents

 

Preface:

A: version control history

1: Local version control system

Centralized version control system

Distributed version control systems

Two: GIT concepts:

Three: GitHub concept

Four: the difference between Git and GITHub 

ps: warehouse on gitHub fun

Dress - Women chiefs gathering

Thanos - Thanos command

nocode - no single line of code

programmer-job-blacklist code farmers find jobs blacklist

hangzhou_house_knowledge Hangzhou to buy a house Raiders

howmanypeoplearearound via Wi-Fi signals to estimate how many people nearby


Preface:

Before introducing git and github must first explain what is version control, because git and github is to make us easier to use version control

We know that if multiple computers in the same local area network, a local area network file sharing can be. Sharers by setting himself to read and modify file sharing to others.

For the same copy of the shared file, if the addition of the individual needs to be modified, then what will happen then? For example, when you are in the company's development projects and colleagues, co-workers you modify the project file, how to do that in order to merge with USB put things into their own changes to the copy, and then to your colleagues. After you modify and then flash drive to your colleagues? Otherwise, a not careful it will cover other people's code.

In order to solve the above problems, the best way would be to use version control.

If you are using a version control system, each team member can make changes to any file at any time without fear of version control system can remind us of file modification conflict, or even more than one person to help us automatically changes merged together.

With version control, we can also go back to view the contents of a previous version of a particular file, you can also see what has changed in a time of change. Very suitable for team collaboration.

A: version control history

1: Local version control system

In the beginning people would be named version control through a large number of files, such as:

But this can only be for single use, still could not solve the problem of teamwork,

To solve this problem, centralized version control system (Centralized Version Control Systems, referred to CVCS) came into being

Such systems, such as CVS, Subversion  and Perforce, which have a single, centrally managed server, save revisions of all files, and people working together are connected to this server through the client, remove or submit new documents update. Over the years, this has become standard practice version control system.

Centralized version control system

 

Then people would encounter a problem, how to get the developers on different systems work together? Thus, centralized version control system came into being.

Such systems, there is a single, centrally managed server, save revisions of all files, and people work together through a client connected to this server, remove the file or submit the latest updates.

Points on both sides of things, both good and bad.  The most obvious disadvantage of doing a single point of failure a central server. If the downtime for an hour, then during that hour nobody can not commit changes, it can not work together. If the center of the disk where the database is damaged, but did not do appropriate backup, no doubt you will lose all data - including the entire change history of the project, leaving only a single snapshot of people on each machine reserved. Local version control systems have similar problems, as long as the history of the entire project is stored in a single location, there is the risk of losing all historical records updated.

Distributed version control systems

      So distributed version control system (Distributed Version Control System, referred to as the DVCS) available up . In such systems, like  Git , Mercurial, Bazaar and Darcs other clients do not just check the latest version of the snapshot file, but the code is fully mirror the repository. This way, any one server fails to work with, and afterwards can use any of a mirror out of the local repository recovery. Because every clone operation, is really a full backup of all the data.

åå¸å¼çæ¬æ§å¶å¾è§£

 

Having version control, which is what a git

 

Two: GIT concepts:

Git (pronounced / gɪt /.), Is the world's most advanced distributed version control system, can be effective, high-speed processing from very small to very large project version management. Git is Linus Torvalds (the father of linux) an open source To help manage Linux kernel development and the development of version control software.

Its role is that it allows you to better manage your program, such as the content you submitted the original, although later modified, but git through this tool, you can put the contents of your original submission reproduce it, so for you later consciousness to some wrong changes can be restored. Now many other free software projects also use Git, for example, many Freedesktop project moved to the Git.
 

In fact, git is a distributed version control software we described earlier, Git has the following characteristics:

  • Snapshots recorded directly, rather than differences in comparison
  • Almost all operations are performed locally
  • At all times maintain data integrity
  • Most operating only add data

Programmers are typical occupations require teamwork, in most cases, multiple programmers are needed to develop the same project at the same time, if multiple programmers to modify a word document at the same time the same. So, Git is an indispensable tool for many programmers.

Three: GitHub concept

(I will use GitHub specific on other sections.)

GitHub is a project for open source and proprietary software hosting platform, because as the sole support only git repository hosting format, named GitHub.

It is a very suitable site for programmers to exchange a lot of technology on the international Daniel has its own open-source code on github, as long as other people apply for an account, you can see these big cattle program written arbitrary. Meanwhile, many domestic Internet companies such as Baidu, Ali, are also posted on github open-source code.

The so-called hosting platform, which means he can be used to store files. But above documents are publicly accessible to be.

GitHub is a hosted service software source code version control via Git, and, GitHub also introduces some social attributes. Known as the world's largest programmer (same-sex) dating site.

Four: the difference between Git and GITHub 

The total sentence is that, git code is a tool we use to submit the development process, and can do a variety of development tools integration. Is a software.

GItHub is our common global repository of git remote. It is a warehouse.

ps: warehouse on gitHub fun

More interesting from a warehouse on gitHub online collection, you can look at entertainment during working hours.

Dress - Women chiefs gathering

There are 129 contributors in this project, called Dress's build-up, upload thousands of photos of women, the harvest of more than 8,000 stars.

Address: https: //github.com/komeiji-satori/Dress

Thanos - Thanos command

Thanos.sh it is an open source one Thanos command, half randomly delete files on your computer.

Address: https: //github.com/hotvulcan/Thanos.sh

nocode - no single line of code

This is more exciting than a project Issue of the project, the project did not have a line of code, Issue various loading force.

Address: https: //github.com/kelseyhightower/nocode 

programmer-job-blacklist code farmers find jobs blacklist

Address: https: //github.com/shengxinjing/programmer-job-blacklist

hangzhou_house_knowledge Hangzhou to buy a house Raiders

Address: https: //github.com/houshanren/hangzhou_house_knowledge

howmanypeoplearearound via Wi-Fi signals to estimate how many people nearby

Address: https: //github.com/schollz/howmanypeoplearearound

 

 

Published 57 original articles · won praise 15 · views 40000 +

Guess you like

Origin blog.csdn.net/qq_41694906/article/details/102959576
Recommended