1. 下载git
- git官网下载地址 : git官网下载地址
- 也可以使用
wget
在服务器内下载 :
# 把版本号换成你需要的版本号即可
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
- 下载后将安装包上传至服务器中,我的安装目录是
/usr/local/tools/git/
2. 下载依赖
安装git工具包
yum -y groupinstall "Development Tools"
安装git依赖包
yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
3. 安装git
- 进入目录,我的安装目录是 :
/usr/local/tools/git/
,下载的git版本是git-2.9.5
mkdir -p /usr/local/tools/git/
cd /usr/local/tools/git/
- 解压git安装包
tar -zxvf git-2.9.5.tar.gz
我希望编译后的git文件夹名字为 git-2.9.5
,所以解压后我把文件名字改了,又新建了一个空的文件夹,名字为 git-2.9.5
- 把git安装包解压后的文件夹 改名为git-2.9.5-installer
mv git-2.9.5 git-2.9.5-installer
# 创建空文件夹
mkdir git-2.9.5
结果截图
- 编译安装包
# 进入目录
cd git-2.9.5-installer/
# 把--prefix后面的路径改成你的路径就行了
./configure --prefix=/usr/local/tools/git/git-2.9.5/
# 编译
make && make install
4. 创建软连接
ln -s /usr/local/tools/git/git-2.9.5/bin/* /usr/bin/
如果出现以下错误,去到/usr/bin/目录下找到报错文件删掉就行
检验是否安装成功
git --version
如果出现版本信息就是安装成功了
5. 搭建git服务器
- 新建git仓库目录 :
# -p 表示创建目录及子目录 也就是可以连续创建目录
mkdir -p /usr/local/tools/git/repository/
- 新建用户并设置密码
# 新建用户 这里-M的意思是 不自动创建/home下的用户目录
useradd -M git
# 设置密码 连续两次输入相同的密码即可成功
passwd git
- 创建用户组并添加用户至用户组
# 创建用户组
groupadd git_user
# 添加用户至用户组
usermod -G git_user git
- 变更git仓库的所有者到任何人
赋予nobody就是把权限给了所有人;
chown -R nobody:nobody /usr/local/tools/git/repository
- 修改git仓库的读写权限,
这样子git仓库就能读写了,否则会报错拒绝提交的;
chmod -R 777 /usr/local/tools/git/repository/
- 变更git仓库的所有者为git用户组,
这是修改权限给git用户组的
chgrp -R git_user /usr/local/tools/git/repository/
-
查看变更是否成功
ll 命令
(主要看所属用户和读写权限是否成功 )drwxrwxrwx(读写权限) nobody(可访问用户任何人) git(可访问用户组git)
-
修改用户shell登陆权限
vim /etc/passwd
找到文件最下面你创建的用户,把冒号后面的 /bin/bash
改成 /home/git:/usr/local/tools/git/git-2.9.5/bin/git-shell
,也就是git安装目录下的 /bin/git-shell
- 创建用户SSH公钥文件,并添加公钥
使用git创建秘钥 参考另一篇文章:私有git服务器如何使用ssh免密操作-使用Tortoisegit
# 1. 创建.ssh文件
mkdir -p /home/git/.ssh/
# 2. 创建秘钥存放文件
cd /home/git/.ssh/
vim authorized_keys
- vim后,按
i
进入编辑模式 - 复制
windows
电脑上用户的公钥,粘贴至authorized_keys
文件内 - 按
ESC
输入:wq
保存退出
6. 创建仓库并测试是否安装成功
- 创建git仓库:
git init --bare /usr/local/tools/git/repository/companyWeb.git
,后面.git就是你的仓库名称,可以随便写 (git服务器初始化仓库的时候一定要加上--bare,否则你的仓库不能推送代码)
- windows电脑上打开你的代码管理软件,输入SSH地址克隆代码至windows电脑
- SSH地址格式:
创建的用户@服务器地址:git仓库路径
,比如我的就是:git@IP:/usr/local/tools/git/repository/companyWeb.git/
- 接下来在windows上操作,添加文件,提交,推送,测试是否成功,:私有git服务器如何使用ssh免密操作-使用Tortoisegit
7. 阿里云记得放行git端口,3690
引用 : https://www.cnblogs.com/Lenbrother/p/10571705.html