系列文章目录


Table of Contents

  • 系列文章目录
  • 前言
  • 操作
  • 1. 创立 git 用户
  • 2. 创立 .ssh 目录
  • 3. 自定义仓库的根目录
  • 4. 在服务器上创立个裸仓库
  • 5. 手动配置一个公钥
  • 6. 在本地测试一下是否操作
  • 总结
  • 参考

前言

平时都是在用 GitHubGitLabGitee 等服务,那咱们如何本人搭建一个 Git Server,这里咱们搭建一个简略的 Git Server

操作

阐明: 本示例在一台云服务器上搭建的 git 服务,其中 1,2,3,4,5 均为在云服务器进行的操作。

当然也能够在虚拟机或者 docker 中进行操作

1. 创立 git 用户

adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

2. 创立 .ssh 目录

/home# su git/home# cd git/home/git# mkdir .ssh && chmod 700 .ssh/home/git# touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

3. 自定义仓库的根目录

/home/git# mkdir code_repository

留神: 这里须要应用 git 用户进行操作

4. 在服务器上创立个裸仓库

/home/git# cd code_repository//home/git/code_repository# mkdir abc.git/home/git/code_repository# cd abc.git//home/git/code_repository/abc.git# git init --bare

留神: 这里须要应用 git 用户进行操作

5. 手动配置一个公钥

将咱们本人本地的公钥文件退出 /home/git/.ssh/authorized_keys

6. 在本地测试一下是否操作

$ mkdir abc$ cd abc$ git init$ touch README.md$ git add .$ git commit -m "first add reademe.md"$ git remote add origin ssh://git@xxx.xx.xx.xx:/home/git/code_repository/abc.git$ git push -u origin master

留神: 这里在本机运行的,不是在服务器上

总结

这种形式创立的仓库,并没有设置任何权限,只有在 authorized_keys 的公钥用户就能够对仓库进行读写操作

参考