Git 现在基本都是开发团队的标配,网上也有大量的相关服务,比如 GitHub,但也可以自己架设一个简单实用的 Git 服务器。
更新系统
yum update -y && yum upgrade -y
安装 git
yum install git -y
可以通过 git --version
查看安装后的版本,如果版本过低,可以升级,也可以源码方式安装
创建管理 git 服务的用户
adduser git
增加一个用户 git
初始化仓库
新建一个地址,并初始化一个仓库
cd ~
mkdir gitc
cd gitc
git init --bare demo.git
此时会有一个裸仓库,更改 owner 改成 git
chown -R git:git demo.git
禁用 shell 登录
因为安全因素,不应该让 git 用户登录 shell
vi /etc/passwd
找到 git:x:1001:100:/home/git:/bin/bash
,将其后面改成 :/home/git:/usr/bin/git-shell
。
克隆仓库
git clone git@serveraddress:~/gitc/demo.git
可以直接使用了。
用户登录是需要公钥的,把每个用户登录用的公钥导入到 /home/git/.ssh/authorized_keys
中,一行一个公钥。
还有一个工具 Gitosis 可以更好的管理公钥。
这里顺便介绍下在 macOS 下生成公钥
cd ~/.ssh
进入到 ~/.ssh
下面查看是否有 id_dsa
和 id_rsa.pub
文件,其中 .pub
文件是公钥,另外一个是私钥。如果都不存在,甚至连 ~/.ssh
文件夹也不存在,就创建
mkdir ~/.ssh
cd ~/.ssh
创建并进入 ~/.ssh
文件夹
ssh-keygen
此时它会要求你确认保存公钥的位置 ~/.ssh/id_rsa
,直接回车确认,此时会要求你输入密码,可以留空,回车后即可创建完成,通过 ls
可以看到,已经存在上面说到的两个文件
运行命令 cat ~/.ssh/id_rsa.pub
将显示的内容放入到 git 服务器的密钥管理中即可。
Git 本身的权限是开放式的,但可以通过 Hook 来解决,推荐一个工具 Gitolite。
> 可在 Twitter/X 上评论该篇文章或在下面留言(需要有 GitHub 账号)