前言

git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,是Linux之父的另外一个得意之作,也是程序员团队协作一个不可缺少的工具,平时个人开发者都使用github来进行git的使用,如果团队开发又想将代码保存在自己服务器怎么办?今天就来记录一下如何在自己的服务器上搭建git。

准备工作

  • 一台安装了git的Linux服务器,系统版本不限
  • 服务器具有root权限

开始

创建git用户

1
2
useradd git # 增加git用户
password git # 设置密码

创建版本库保存目录

1
2
3
4
mkdir /git # 创建目录
chown -R git:git /git # 设置权限
cd /git # 进入目录
su git # 切换到git用户

创建并初始化版本库

1
2
mkdir testrepo
git init --bare testrepo/

此时我们的git版本库已经创建完成了,接下来需要做的是配置ssh免密

修改ssh配置文件

1
2
3
4
5
6
7
8
vim /etc/ssh/ssh_config

# 添加以下内容到文件中
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

systemctl restart sshd # 重启ssh服务

客户端生成公钥

请注意,这里需要在客户端机器上进行

1
ssh-keygen -t rsa -C "admin@admin.com" # 这里的邮件地址可以随便填,但是要记录下来

找到生成的id_rsa.pub,将文件内容复制出来,一般文件保存于~/.ssh

服务器配置authorized_keys

使用root用户登录到服务器,并切换到git

1
su git

编辑authorized_keys

1
2
3
4
mkdir -p ~/.ssh
vim ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

将上面id_rsa.pub的内容保存authorized_keys到中

客户端clone项目到本地测试

1
2
3
git config --global user.email "admin@admin.com" # 这里填刚才生成公钥时使用的邮箱地址
git config --global user.name "admin" # 这里用户名随便填
git clone git@*.*.*.*:/git/testrepo.git

看到图中提示,说明我们的git服务器已经搭建成功,至此,我们已经成功搭建了一台只属于自己的git服务器。

Tips

  • 更多好玩的教程,好玩的技术博客,请持续关注下方我的微信公众号,如果有好的建议和好的想法欢迎公众号后台留言或者发送邮件至TyrantLucifer@linuxstudy.cn,我们下期再见!

我的微信公众号