Git is currently one of the most popular distributed version control systems. It provides developers with collaborative development and version control functions. It is integrated into a Web server program to organize Git warehouses. This Web server program facilitates It's GitLab. GitLab is an open source git warehouse management system written in Ruby on Rails. It provides a web front-end that can freely manage private Git warehouses.
When using GitLab for version management, we will put the code and other files written by developers into the Git warehouse. These files are stored in a certain format in the warehouse. So, what is the Git format stored by GitLab server?
First of all, one thing you need to know is that Git is distributed, and the warehouse is divided into local warehouse, remote warehouse and central warehouse. Git uses a method called "object storage" to manage code.
In this "object storage", we often hear concepts such as "blob", "tree", and "commit". In fact, these concepts correspond to specific object types in Git:
The Blob object is the basic object used by Git Type, which represents the contents of a binary file. In Git, the contents of a file are called "blobs", and Git uses the SHA-1 hashing algorithm to store this data.
Tree object represents the folder and the files and folders contained inside it. It stores information such as the ID, file name, and access permissions of each blob object. A tree object can contain multiple blob objects and other tree objects, thereby establishing a hierarchical relationship between files, allowing the Git repository to maintain the folder structure.
The Commit object represents a submission. It saves one or more tree objects and corresponding submission information, such as the submitter name, email, submission time, submission information, etc. Every time you change a file in your Git repository, you need to create a commit object to save these changes.
Back on the GitLab server, in fact, the Git format it stores is to store these listed object types and other object types used by Git on the server's hard disk. This method enables GitLab to manage Git warehouses more conveniently and provide quick access and query functions.
Generally speaking, the Git format stored by the GitLab server is an object repository composed of folders, files, submission information, etc. The contents can be managed through the GitLab server program and provide web access. and user rights control and other functions. It is worth noting that the Git format stored by GitLab is different from other version control tools, such as Subversion (SVN), etc. Therefore, familiarity with Git's object storage method is crucial to using GitLab for version control and code management.
The above is the detailed content of What format is the git stored on the GitLab server?. For more information, please follow other related articles on the PHP Chinese website!