在自己服务器上搭建远程GIT私库

酷酷的白 169 浏览 0

通过putty或者win10、11自带的powershell终端登录连接到服务器。

Git环境

检查服务器是否安装了Git:

git --version

如果发现未安装则安装:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install -y git

添加用户并配置

添加用户

useradd git //添加git用户

添加账号权限

chmod 740 /etc/sudoers
vim /etc/sudoers

找到

Allow root to run any commands anywhere
root ALL=(ALL) ALL

添加以下内容

git ALL=(ALL) ALL

保存退出(按 Esc 键退出编辑模式,输入:wq 保存退出)并改回权限。

chmod 400 /etc/sudoers

为git用户设置密码

passwd git

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限。

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

如果之前使用过git本地用户目录的.ssh中会有个生成的id_rsa.pub文件,可将该文件中的公钥复制到authorized_keys中。如果没有则使用ssh-keygen -t rsa命令生成。

chmod 600 /home/git/.ssh/authorzied_keys
chmod 700 /home/git/.ssh

之后配置工作目录

su git // 切换为git用户
cd ~ //切换到git用户目录下也可以使用cd /home/git
mkdir -p projects/work/ // 创建项目存放目录
mkdir repos && cd repos  //创建repos目录并切换到该目录
git init --bare work.git // 创建并初始化仓库
cd work.git/hooks  //切到构造目录下
vi post-receive // 创建 hook 钩子函数,输入了内容如下

#!/bin/sh
git --work-tree=/home/git/projects/work --git-dir=/home/git/repos/work.git checkout -f

修改对应的权限

chmod +x post-receive
su root  // 切换到 root 登录
chown -R git:git /home/git/repos/work.git // 添加权限

 测试连接

git clone git@server_ip:/home/git/repos/work.git

发表评论 取消回复
表情 图片 链接 代码

分享