Home >Development Tools >git >A brief analysis of how to build a git server locally in Windows
With the popularity of Git, more and more companies and individuals are beginning to use Git for version control. Although there are many online Git hosting services such as Github, Gitlab and Bitbucket, for some developers, it is very necessary to build a local Git server. This article will introduce how to set up a Git server on a Windows system.
First, you need to install Git software on your Windows system. You can download the latest Git installation package from the official Git website and install it according to the instructions. During the installation process, you can choose the default settings and do not need to make any modifications.
After installing Git, you need to create a Git repository locally. You can create a warehouse with the following command:
$ git init --bare /path/to/repo.git
where /path/to/repo.git
is the storage path of the Git warehouse. You can choose other paths as needed. This command will create a bare warehouse to store code and version information.
When building a Git server, you need to pay attention to the permission settings. You can configure permissions through the following steps:
repo.git/config
. [receive] denyCurrentBranch = ignore
The function of this configuration is to open the write permission to the current branch. Because on a locally built Git server, only administrators or users with write permissions can modify the warehouse.
In Windows systems, you need to use the SSH protocol for code transmission. Therefore, OpenSSH needs to be installed to enable the SSH service. You can download the latest OpenSSH installation package from the OpenSSH official website and install it according to the instructions.
After installing OpenSSH, you need to configure the SSH service. You can configure it through the following steps:
etc\sshd_config
file in the OpenSSH installation directory, such as C:\Program Files\OpenSSH\etc\sshd_config
. Match User git ForceCommand C:\Program Files\Git\bin\git.exe serve --enforce-git-protocol --stateless-rpc "D:\git-shell-commands\git-receive-pack.exe 'D:\repos'"
where git
is the user name, C:\Program Files\Git\bin\git.exe
is the path of the Git command, D:\git-shell-commands\git-receive-pack.exe
is the Git receive command, D:\repos
is the Git warehouse storage path. You can modify it according to your actual situation.
After configuring the SSH service, you need to start the service. Open the Windows PowerShell
window and enter the following command to start the service:
Start-Service sshd
To verify whether the service is started successfully, you can enter the following command:
Get-Service sshd
If it is started successfully, output The status is Running
.
After setting up the Git server, you need to perform a connection test. You can use the following command to test:
$ git clone ssh://git@localhost:/path/to/repo.git
where git
is the user name, localhost
is the IP address or domain name, /path/to/repo.git
is the storage path of the Git repository. You can modify it according to your actual situation.
On the Git server, you need to add a user to submit and manage code. Users can be added using the following command:
$ adduser git
Enter the password and follow the instructions to create a new user.
Without adding the SSH public key, code cannot be hosted on the Git server. Therefore, you need to configure the SSH public key first. This can be configured by following these steps:
Windows PowerShell
window: $ ssh-keygen -t rsa -C "your_email@example.com"
D:\git-shell-commands on the Git server \authorized_keys
file. The above are all the steps to set up a Git local server on a Windows system. After completion, the code can be submitted and managed locally. Git's distributed version control feature makes the development process more efficient and convenient. Hope this article can be helpful to you.
The above is the detailed content of A brief analysis of how to build a git server locally in Windows. For more information, please follow other related articles on the PHP Chinese website!