系列文章目錄
目錄
前言
平常都是在用 GitHub
、GitLab
、Gitee
等服務,那我們如何自己搭建一個 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
的公鑰用戶就可以對倉庫進行讀寫操作