Home > Article > Development Tools > What is git and gitlab
Git is an open source distributed version control system that can handle version management of projects from very small to very large efficiently and at high speed. Gitlab is an open source project for warehouse management systems. It uses Git as a code management tool and builds a web service on this basis. Public or private projects can be accessed through the web interface.
The operating environment of this tutorial: Windows 7 system, Git version 2.30.0, Dell G3 computer.
What is git?
Git (pronounced /gɪt/) is an open source distributed version control system that can handle version management of projects from very small to very large projects efficiently and at high speed. It is also an open source version control software developed by Linus Torvalds to help manage Linux kernel development.
The initial development impetus for git came from BitKeeper and Monotone. git was originally developed as a backend that could be wrapped by other frontends (such as Cogito or Stgit), but later the git core has matured enough to be used independently for version control. Many well-known software use git for version control, including the development process of projects such as the Linux kernel, X.Org server, and OLPC kernel.
Main functions
git is a version control tool used for Linux kernel development. Unlike centralized version control tools such as CVS and Subversion, it adopts a distributed version library approach and does not require server-side software to operate version control, making the release and exchange of source code extremely convenient. git is fast, which is naturally important for big projects like the Linux kernel. The most outstanding thing about git is its merge tracing capability.
In fact, when the kernel development team decided to start developing and using git as the version control system for kernel development, there was a lot of opposition from the open source community around the world. The biggest reason was that git was too difficult to understand. In terms of the inner workings of git, this is indeed the case. But as development progresses, normal use of git is performed by some friendly commands, making git very easy to use. Now, more and more famous projects use git to manage project development, such as wine, U-boot, etc.
As an open source free fundamentalist project, git does not impose any permission restrictions on browsing and modifying the repository. Limited permission control can also be achieved through other tools, such as: gitosis and CodeBeamer MR. Originally, the scope of use of git was only applicable to Linux/Unix platforms, but its use on Windows platforms has become increasingly mature. This is mainly due to Cygwin, msysgit environment, and easy-to-use GUI tools such as TortoiseGit. The source code of git has also added support for Cygwin and MinGW compilation environments and is gradually improving, bringing good news to Windows users.
What is gitlab?
GitLab is an open source project for warehouse management systems. It uses Git as a code management tool and builds a web service on this basis, which can be accessed through the web interface. Or personal projects. It has similar functionality to Github, with the ability to browse source code and manage defects and comments.
GitLab is a web-based Git warehouse management tool developed by GitLabInc. using the MIT license and has wiki and issue tracking functions. Use Git as a code management tool and build a web service based on this.
GitLab was developed by Ukrainian programmers Dmitriy Zaporozhets and Valery Sizov and is written in Ruby. Later, some parts were rewritten in Go language. As of May 2018, the company had approximately 290 team members and more than 2,000 open source contributors. GitLab is used by organizations such as IBM, Sony, Jülich Research Center, NASA, Alibaba, Invincea, O’Reilly Media, Leibniz-Rechenzentrum (LRZ), CERN, SpaceX, and more.
GitLab’s main service composition:
1. Nginx static web server (which serves as GitLab’s pros proxy and handles all our HTTPS static access requests)
2.Gitlab-Workhorse lightweight reverse proxy server (it handles some larger file uploads and downloads as well as the gitpush command line operations we often use)
3.GitLab-shell is used to process Git commands and modify the authorized keys list.
4.Logrotate (responsible for processing GitLa log cutting and packaging operations) log file management tool.
5.postgresal database (save to save all gielab data information).
6.Redis cache server (cache database information to speed up front-end access, as well as interactive reading and writing of data).
Recommended study: "Git Tutorial"
The above is the detailed content of What is git and gitlab. For more information, please follow other related articles on the PHP Chinese website!