search
HomeDevelopment ToolsgitHow to set up a Git server on CentOS 7

Git is a distributed version control system that helps you track changes to code and files, while also helping multiple people work on the same project at the same time. In this article, we will learn how to set up a Git server on CentOS 7.

Step 1: Install Git

First, we need to install Git. On CentOS 7, you can install Git using the following command:

sudo yum install git

Once Git is installed, you can now use Git commands in the terminal.

Step 2: Create a Git user

In order to make our Git server more secure, we will create an independent Git user so that all Git repositories will be owned by this user. Please create a user named git using the following command:

sudo adduser git

Next, you will be asked to enter the password of the new user. After entering and confirming the password, you can see that the user's user directory has been successfully created.

Step 3: Create an empty Git repository

Once we create a Git user, we can create a Git repository for the user. Git repository can store open source code on GitHub and can also be used to store local code. In this tutorial, we will use an empty Git repository to demonstrate how to set up a Git server on CentOS 7.

First, we need to create a new directory to store the empty Git repository. To do this, use the following command in the terminal:

sudo mkdir /var/git

Next, let us add the Git repository to this directory.

sudo git init --bare /var/git/sample.git

This command will create an empty Git repository named sample.git.

Step 4: Set Git warehouse permissions

In order to ensure that all Git warehouses are in a safe state, we should restrict read, write and execute permissions on them.

Let us transfer the permissions of the Git repository to the Git user (git):

sudo chown -R git:git /var/git/sample.git

Next, we will restrict the read, write and execute permissions of the repository:

sudo chmod -R 755 /var/git/sample.git

Now, we have successfully set the permissions of the Git repository.

Step 5: Clone the Git repository

We have set up an empty Git repository, now let us clone the repository locally.

First, create a folder named sample locally:

mkdir ~/sample

Use the following command in the folder to clone: ​​

git clone git@your.server.ip.address:/var/git/sample.git

Please make sure to add your.server Replace .ip.address with the IP address of your Git server.

Step Six: Configure Git User

In order to ensure that Git users can connect and use the Git server, we need to configure Git users:

sudo su - git
cd
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

Next, you need to change the local The computer's public key is copied to the new authorized_keys file in the Git user's home directory. On your local machine, run the following command:

cat ~/.ssh/id_rsa.pub | ssh git@your.server.ip.address "cat >> ~/.ssh/authorized_keys"

Be sure to replace your.server.ip.address with the IP address of your Git server.

Now, you can use your Git username and password to connect to the Git server and perform Git operations.

Conclusion

With the steps in this article, you should now have successfully set up a basic Git server on CentOS 7. It is important to note that when using Git, you should always make changes locally and use Git commands to push the changes to the Git server. Do not directly manipulate Git repositories on the Git server.

The above is the detailed content of How to set up a Git server on CentOS 7. 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 vs. Git: Understanding the Key DifferencesGitHub vs. Git: Understanding the Key DifferencesApr 26, 2025 am 12:12 AM

Git and GitHub are different tools: Git is a version control system, and GitHub is an online platform based on Git. Git is used to manage code versions, and GitHub provides collaboration and hosting capabilities.

GitHub: Code Hosting, Collaboration, and Version ControlGitHub: Code Hosting, Collaboration, and Version ControlApr 25, 2025 am 12:23 AM

GitHub is a distributed version control system based on Git, providing the core features of version control, collaboration and code hosting. 1) Creating repositories, cloning, committing and pushing changes is the basic usage. 2) Advanced usage includes using GitHubActions for automation, deploying static websites in GitHubPages, and using security features to protect code. 3) Common errors such as merge conflicts, permission issues and network connection issues can be debugged by manually resolving conflicts, contacting the warehouse owner and setting up a proxy. 4) Methods to optimize workflows include using branching strategies, automated testing and CI/CD, code review, and keeping documentation and annotations clear.

Git: The Tool, GitHub: The ServiceGit: The Tool, GitHub: The ServiceApr 24, 2025 am 12:01 AM

Git and GitHub are different tools: Git is a distributed version control system, and GitHub is an online collaboration platform based on Git. Git manages code through workspaces, temporary storage areas and local warehouses, and uses common commands such as gitinit, gitclone, etc. GitHub provides functions such as code hosting, PullRequest, IssueTracking, etc. The basic process includes creating repositories, pushing code, and collaborating with PullRequest.

Git: The Core of Version Control, GitHub: Social CodingGit: The Core of Version Control, GitHub: Social CodingApr 23, 2025 am 12:04 AM

Git and GitHub are key tools for modern software development. Git provides version control capabilities to manage code through repositories, branches, commits and merges. GitHub provides code hosting and collaboration features such as Issues and PullRequests. Using Git and GitHub can significantly improve development efficiency and team collaboration capabilities.

Git: The Version Control System, GitHub: The Hosting PlatformGit: The Version Control System, GitHub: The Hosting PlatformApr 22, 2025 am 12:02 AM

Git is a distributed version control system developed by Linus Torvaz in 2005, and GitHub is a Git-based code hosting platform founded in 2008. Git supports branching and merges through snapshot management files, and GitHub provides pull requests, problem tracking and code review functions to facilitate team collaboration.

Git and GitHub: A Comparative AnalysisGit and GitHub: A Comparative AnalysisApr 21, 2025 am 12:10 AM

Git and GitHub are key tools in modern software development. Git is a distributed version control system, and GitHub is a Git-based code hosting platform. Git's core features include version control and branch management, while GitHub provides collaboration and project management tools. When using Git, developers can track file changes and work together; when using GitHub, teams can collaborate through PullRequests and Issues.

GitHub: An Introduction to the Code Hosting PlatformGitHub: An Introduction to the Code Hosting PlatformApr 20, 2025 am 12:10 AM

GitHubiscrucialforsoftwaredevelopmentduetoitscomprehensiveecosystemforcodemanagementandcollaboration.Itoffersversioncontrol,communitysupport,andtoolslikeGitHubActionsandPages.Startbymasteringbasicslikecreatingarepository,usingbranches,andautomatingwo

Git and GitHub: Essential Tools for DevelopersGit and GitHub: Essential Tools for DevelopersApr 19, 2025 am 12:17 AM

Git and GitHub are essential tools for modern developers. 1. Use Git for version control: create branches for parallel development, merge branches, and roll back errors. 2. Use GitHub for team collaboration: code review through PullRequest to resolve merge conflicts. 3. Practical tips and best practices: submit regularly, submit messages clearly, use .gitignore, and back up the code base regularly.

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

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.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools