Git — overview of version controller


1、 Version control

Revision controlIt is a kind of technology used to manage the modification history in the development process, to view the change history record conveniently, and to backup to restore the previous version of software engineering.

1. Realize multi person collaborative development across regions
2. Track and record the history of one or more documents
3. Organize and protect your source code and documents
4. Statistical workload
5. Parallel development to improve efficiency
6. Track and record the whole software development process
7. Reduce the burden of developers, save time, and reduce human errors

Technology for managing multi person collaborative development projects


Common version control tools

3.CVS(Concurrent Versions System)
4.VSS(Micorosoft Visual SourceSafe)
5.TFS(Team Foundation Server)
6.Visual Studio Online


Local version control

Record each update, you can make a snapshot of each version, or record the patch file


Centralized version control SVN

All data is saved to the server, and the collaborative developers update or upload their own changes from the server


Distributed version control Git

All versions of the repository are synchronized to each local user, and everyone has all the code


The main difference between GIT and SVN

The Chinese and English server used in SVN version library needs to obtain the latest version from the central server, and then work. After completing the work, the work done by itself will be pushed to the central server.

Git is a distributed version control system. There is no central server. Everyone’s computer is a complete version library, and there is no need to connect to the Internet when working.

Git is the most advanced distributed version control system in the world


2、 Install Git

1. Git interface

1) Git bash: Unix and Linux style command line, most used, most recommended
2) Git CMD: Windows style command line
3) Git GUI: git of graphical interface, not recommended for beginners, try to be familiar with common commands first


2. Git configuration

Git related configuration files
1) git config — System — list system level

2) git config — global — List Global


Set up user name and mailbox (required)
  1)git config –global “Username” user name
  2)git config –global [email protected] mailbox


Environment variables are only used globally and are configured automatically during installation


3、 Git basic theory (core)

1. Work area

Working directory, stage / index, repository or git directory.
If you add the remote git repository (remote directory), it can be divided into four working areas.

1) workspace: the work area, where the project code is usually stored.
2) index / stage: the temporary storage area is used to temporarily store changes. In fact, it is only a file to save the information to be submitted to the file list.
3) Repository: the warehouse area (or local warehouse), where the data is stored safely. There are all versions of data submitted. Where head points to the latest version put into the warehouse.
4) remote: remote warehouse, server hosting code, which can be simply regarded as a computer used for data exchange in the project.

ref:refs/heads/master Main branch

Git workflow:
1) add and modify files in the directory;
2) put the files that need version management into the temporary storage area; git add
3) submit the files in temporary storage area to git warehouse

Git managed files have three states: modified, staged and committed

2. Git command

1) temporary command: git add is submitted to the temporary storage area
2) submit command: git commit – M submit the contents of the temporary storage area to the local warehouse



Build local warehouse
3) git initialization: git init


Clone remote warehouse
4) git project clone: git clone [url]


View file status
5) query all file information: git status
6) query the specified file information: git status [file name]


3. Ignore files

Create the “. Gitignore” file in the main directory, which has the following rules
1) ignore empty lines in the file or lines beginning with ා, will be ignored
2) you can use Linux wildcards, such as asterisk (*) to represent any number of characters, and question mark (?) Represents a character, and bracket [ABC] represents an optional range of characters,
Optional, string 1 stands for the curly bracket.
3) if the name is preceded by an exclamation mark (!) , represents an exception rule and is not ignored.
4) if the name is preceded by a path separator (/), it means that the files in this directory are to be ignored, while the subdirectories are not.
5) if the name is followed by a path separator (/), it means to ignore the subdirectory of the name in this directory, not the file.


4、 Gitee code cloud installation and use

1. Register gitee and GitHub accounts

2. Set the SSH public key bound by the machine to realize password free login! (password free login is important)

Public key setting: enter the directory C: user / adnubstractor \. SSH

SSH keygen: generating public key

3. Add the public key information to the code cloud account

4. Use code cloud to create your own warehouse


5、 Idea integration Git

1. Create a new project and bind GIT

Copy our remote git file directory to the project

2. Modify the file and use idea to operate GIT

3. Submit test


6、 Git branch common instructions

1. List all local branches

  git branch

2. List all remote branches

  git branch -r

3. Create a new branch, but still stay in the current branch

  git branch [branch-name]

4. Create a new branch and switch to it

  git checkout -b [branch]

5. Merge the specified branch to the current branch

  git merge [branch]

6. Delete branch

  git branch -d [branch-name]

7. Delete remote branch

  git push origin –delete [branch-name] git branch -dr [remote/branch]

Recommended Today

PHP 12th week function learning record

sha1() effect sha1()Function to evaluate the value of a stringSHA-1Hash. usage sha1(string,raw) case <?php $str = “Hello”; echo sha1($str); ?> result f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0 sha1_file() effect sha1_file()Function calculation fileSHA-1Hash. usage sha1_file(file,raw) case <?php $filename = “test.txt”; $sha1file = sha1_file($filename); echo $sha1file; ?> result aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d similar_text() effect similar_text()Function to calculate the similarity between two strings. usage similar_text(string1,string2,percent) case […]