Git远程私库就是把自己的Linux下的Git仓库作为服务端,客户端通过Git和其建立连接。远程私库可以用于部署项目或者团队协同开发。本人主要介绍Git安装和配置过程。本人涉及的Linux系统版本是Ubantu18.04和Centos6.5。
搭建远程私库前确保远程服务器可以通过ssh连接成功,命令格式:ssh 用户名@ip地址。连接成功如下所示:
Git安装
通过包管理工具安装
Ubuntu18.04环境下
1 | #更新系统工具包 |
Centors6.5环境下
1 | #安装Git |
通过安装包安装
安装前准备
1 | yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc |
下载安装包
https://github.com/git/git/releases
解压
1 | tar zxvf git-2.25.0.tar.gz |
编译安装
1 | cd git-2.25.0 |
查看Git
1 | git version |
Git配置
配置环境变量(安装包安装时)
编辑配置文件
1 | vim /etc/profile |
在里面加入加入export PATH=$PATH:/usr/local/git-2.25.0/bin
生效配置文件
1 | source /etc/profile |
配置Git
设置用户名 密码 邮箱
1 | git config --global user.name "Your Name" |
配置ssh公钥
1 | ssh-keygen -t rsa //按三下回车键 系统会提示密钥的保存位置(一般是~/.ssh目录) |
创建仓库
创建仓库文件
1 | mkdir -p /usr/local/gitspace |
初始化仓库
1 | cd gitspace |
创建Linux用户(可选)
1 | useradd -m liquanhong //Ubuntu中需要加-m参数,不然不会在home中创建文件夹 |
ssh免密登录
方法1:把本地的Git公钥文件id_rsa.pub,复制到~/.ssh文件夹并改为 authorized_keys
方法2:新建 authorized_keys文件,内容改为本地的Git公钥文件id_rsa.pub的内容
设置成功后客户端不需要输入密码也可以进行拉取、提交代码等操作。
~相当于/home/liquanhong
配置hooks
编辑post-receive
1 | vim /usr/local/gitspace/hooks/post-receive |
如果没有该文件,创建一个。文件内容如下:
1 | git --work-tree=/usr/local/blog --git-dir=/usr/local/gitspace checkout -f |
其中/usr/local/blog是提交代码后Git自动生成文件夹目录
赋予权限
1 | chown -R liquanhong:liquanhong /usr/local/blog |
hooks配置成功后,客户端每次提交代码git会自动在/usr/local/blog目录更新提交的代码文件
如果用root作为Git用户,所有chown命令不需要执行。
客户端操作
本地克隆仓库
远程私库格式:git clone linux用户名@ip地址:仓库路径
例子:git clone liquanhong@106.12.8.172:/usr/local/gitspace
仓库能克隆到本地说明远程私库没问题,正常用git commit,git push等命令就能愉快玩耍了!