Linux搭建git服务器

博主因与小伙伴做网站需共享代码,在Linux系统上搭建Git服务器作为远程仓库。内容涵盖安装Git、创建运行服务的用户、配置远程登录、初始化空仓库、修改仓库用户、禁用shell登录,还介绍了客户端初始化本地仓库、建立与远程仓库联系及克隆远程仓库的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近准备跟小伙伴们一起做个网站,需要用到git方便共享代码,所以搭个git服务器作为远程仓库。

1、安装git
sudo apt-get install git
2、创建一个git用户来运行git服务
sudo adduser git

切换到git账号,生成秘钥

su git
ssh-keygen
3、配置远程登录

收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件中的内容,把所有公钥导入到 /home/git/.ssh/authorized_keys 文件里,一行一个。
在Windows系统中,id_rsa.pub文件是在 用户目录中的 .ssh 目录中,Linux也是。

4、初始化一个空的仓库

假定在 /srv 目录中新建一个文件夹 test.git 作为仓库,先cd到、srv目录下,输入下边命令

sudo git init --bare test.git
//初始化完成后是无法看到上传到仓库的文件的

如果使用 git init 命令直接初始化会导致文件不可上传

5、修改仓库用户
chown -R git /srv/test.git

如果不修改用户及用户组的话,上传文件到远程仓库可能会报错

insufficient permission for adding an object to repository database ./objects

或其他权限问题

6、禁用shell登录

处于安全考虑,禁止git账号shell登录

vim /etc/passwd

找到这一行

git:x:1001:1001:git,git,git,git,git:/home/git:/bin/bash

将其修改为

git:x:1001:1001:git,git,git,git,git:/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

以下步骤在客户端git执行

7、初始化本地仓库

初始化本地仓库需要使用 git init 命令,如果使用 git init --bare test.git 命令不能执行大部分的 git 命令,包括 git addgit commit 等命令

8、建立本地仓库与远程仓库的联系

在本地仓库中执行

git remote add origin git@server:/srv/test.git

server 为主机地址

切换和修改git远程地址的三种方法请点击这里

9、克隆远程仓库
git clone git@server:/srv/test.git

server 为主机地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值