search
HomeDevelopment ToolsgitWhat version control system does git belong to?

Git is a distributed version control system. Git is an open source distributed version control software developed by Linus Torvalds to help manage Linux kernel development. It is used to effectively and quickly handle version management of projects from small to very large projects.

What version control system does git belong to?

The operating environment of this tutorial: windows7 system, mysql8.0.22 version, Dell G3 computer.

What version control system does git belong to?

Git is a distributed version control system.

Git has the following characteristics:

  • The version library of each clone (clone) in Git is equal. You can clone any repository to create your own repository, and your repository can also be used as a source for others if you wish.

  • Every extraction operation of Git is actually a complete backup of the code repository.

  • Submission is completely completed locally, no one else needs to give you authorization, you are the master of your repository, and the submission will always be successful.

  • Even changes based on the old version can be submitted successfully, and the submission will create a new branch based on the old version.

  • Git submission will not be interrupted until you are completely satisfied with your work. PUSH to others or others to PULL your repository. Merging will occur during the PULL and PUSH processes. Conflicts that cannot be resolved automatically will prompt you to complete them manually.

  • Conflict resolution is no longer like a submission competition like SVN, but merging and conflict resolution are performed when needed.

  • Git can also simulate a centralized working mode

  • The Git version library is unified on the server

  • You can authorize the Git repository: who can create the repository, who can PUSH to the repository, and who can read (clone) the repository

  • Members of the team first Clone the server's repository locally; and frequently pull (PULL) the latest updates from the server's repository;

  • Team members push (PUSH) their changes to the server's repository In the repository, when others synchronize with the repository (PULL), changes will be automatically obtained

  • Git’s centralized working model is very flexible

  • You can completely disconnect from the network where the Git server is located, such as when working on the move/on a business trip, and still use the code library as usual

  • You only need to be able to access the network where the Git server is located , PULL and PUSH can complete synchronization with the server and submit

  • Git provides the rebase command, which can make your changes appear to be based on the latest code implementation

  • Git has more working modes to choose from than Subversion.

What is "version control"?

Version control is a system that records changes in the content of one or several files so that you can check the revision status of a specific version and backtrack in the future. Any type of file can be version controlled.

If you are a graphic or web designer, you may need to save all revisions of a certain picture or page layout file (this may be a feature you are very eager to have), using a version control system (VCS) ) is a wise choice.

With it, you can roll back a certain file to its previous state, or even roll back the entire project to its state at a certain point in the past. You can compare the details of the changes in the files and find out what was last Who modified which part to find out what caused the weird problem, who reported a functional defect when, and so on.

Using a version control system usually also means that even if you change, delete, or delete files in the entire project at once, you can still easily restore them to their original appearance. But the additional workload is minimal.

Local version control system

Many people are used to copying the entire project directory to save different versions, and may also change the name and add the backup time to show the difference. The only advantage of doing this is that it is simple, but it is also very easy to make mistakes. Sometimes the working directory is confused, and the wrong file is accidentally written or an unexpected file is overwritten.

In order to solve this problem, people have developed many local version control systems a long time ago, most of which use some simple database to record the differences in previous updates of files.

What version control system does git belong to?

Figure 1. Local version control.

The most popular one is called RCS, which can still be seen on many computer systems today. The rcs command can be used even after installing the developer toolkit on popular Mac OS X systems. It works by saving a set of patches (a patch is a change before and after a file is revised) on the hard disk; by applying all the patches, the contents of each version of the file can be recalculated.

Centralized version control system

Next, people encountered another problem, how to let developers on different systems work together?

Therefore, Centralized Version Control Systems (Centralized Version Control Systems, CVCS for short) came into being. Such systems, such as CVS, Subversion and Perforce, have a single centrally managed server that saves revisions of all files, and people working together connect to this server through clients to retrieve the latest files or commit renew. This has become standard practice for version control systems over the years.

What version control system does git belong to?

Figure 2. Centralized version control.

This approach brings many benefits, especially compared to In terms of old-fashioned local VCS. Now, everyone can see to some extent what others in the project are working on. Administrators can also easily control the permissions of each developer, and managing a CVCS is far easier than maintaining local databases on each client.

There are two sides to things, good and bad. The most obvious disadvantage of doing this is that the central server is a single point of failure. If it is down for one hour, no one can submit updates during this hour, and no one can work together. If the disk on which the central database resides becomes corrupted and you don't back it up properly, you will undoubtedly lose all data - including the project's entire change history, leaving only the individual snapshots that people keep on their own machines. A similar problem exists with local version control systems. As long as the entire project's history is kept in a single location, there is a risk of losing all historical update records.

Distributed Version Control System

So the Distributed Version Control System (Distributed Version Control System, referred to as DVCS) came out. In such systems, such as Git, Mercurial, Bazaar, and Darcs, the client does not only extract the latest version of the file snapshot, but completely mirrors the code repository. In this way, if any server used for collaborative work fails, any mirrored local warehouse can be used to recover afterwards. Because every cloning operation is actually a complete backup of the code repository.

What version control system does git belong to?

Figure 3. Distributed version control.

Furthermore, many of these systems can be specified to work with several different remote Interact with the end code repository. This way, you can collaborate with people from different working groups on the same project. You can set up different collaboration processes as needed, such as hierarchical model-based workflows, which was not possible in previous centralized systems.

Recommended study: "Git Tutorial"

The above is the detailed content of What version control system does git belong to?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
github是什么github是什么Mar 24, 2023 pm 05:46 PM

​GitHub是一个面向开源及私有软件项目的托管平台,可以让开发者们在这里托管自己的代码,并进行版本控制。GitHub主打的是开源项目与协作,通过这个平台上的开源项目,开发者们可以查看其他开发者的项目源代码,并进行交流和学习。

git中push -u是什么意思git中push -u是什么意思Jul 01, 2022 am 10:36 AM

在git中,“push -u”的意思是将本地的分支版本上传到远程合并,并且记录push到远程分支的默认值;当添加“-u”参数时,表示下次继续push的这个远端分支的时候推送命令就可以简写成“git push”。

git的pack文件有什么用git的pack文件有什么用Jun 30, 2022 pm 05:41 PM

在git中,pack文件可以有效的使用磁盘缓存,并且为常用命令读取最近引用的对象提供访问模式;git会将多个指定的对象打包成一个成为包文件(packfile)的二进制文件,用于节省空间和提高效率。

如何在GitLab上进行第一次登录并更改密码如何在GitLab上进行第一次登录并更改密码Mar 24, 2023 pm 05:46 PM

GitLab是一种基于Web的Git版本控制库管理软件,旨在帮助开发团队更好地协同工作,提高工作效率。当您第一次登录GitLab时,系统会提示您要更改初始密码以确保账户安全。本文将为大家介绍如何在GitLab上进行第一次登录并更改密码。

git中pull失败了怎么办git中pull失败了怎么办Jun 30, 2022 pm 04:47 PM

git中pull失败的解决方法:1、利用“git reset --hard”强制覆盖掉自己的本地修改;2、利用“git stash”推送一个新的储藏,拉取之后利用“git stash pop”将修改保存到暂存区;3、若依然出现问题,则将文件保存到暂存区并提交注释即可。

git分支能改名字吗git分支能改名字吗Jun 16, 2022 pm 05:55 PM

git分支能改名字。改名方法:1、利用git中的branch命令修改本地分支的名称,语法为“git branch -m 旧名字 新名字”;2、利用“git push origin 新名字”命令,在删除远程分支之后将改名后的本地分支推送到远程;3、利用IDEA直接操作修改分支名称即可。

用三行代码使你的git提交记录变干净用三行代码使你的git提交记录变干净Feb 28, 2023 pm 04:19 PM

本篇文章给大家带来了关于git的相关知识,其中主要跟大家聊一聊怎么让你的git记录保持整洁,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

git怎么删除某个分支git怎么删除某个分支Jun 24, 2022 am 11:11 AM

git删除某个分支的方法:1、利用“git branch --delete dev”命令删除本地分支;2、利用“git push origin --delete branch”命令删除远程分支;3、利用“git branch --delete --remotes”命令删除追踪分支。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.