应用情景
自己的网站正在开发中,代码又不想上传到github,于是在自己的云服务器上装个git服务器方便在公司和家里拉取自己的代码
通过源码包安装git
- 由于git的yum源年久失修, 目前git最新版本是2.9.5, yum只有1.8, 因此推荐使用源码包安装
- 官网linux下载地址 官网提供了镜像的下载, 选择最新版本的git-2.9.5.tar.gz, 不要下错了文档, 解压出来一脸懵逼
- 获取下载地址后使用wget命令直接在linux中下载
// 创建目录, 源码包默认安装位置/usr/local/
# makir /usr/local/git && cd /usr/local/git
# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
# tar -xzvf git-2.9.5.tar.gz
# cd git-2.9.5
// 安装依赖
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
// 检查依赖,并指定安装路径
# ./configure --prefix=/usr/local/nginx
// 编译并安装,耐心等待
# make
# make install
// 查看安装是否成功
# git --version
为git配置一个专门用于提交的用户
// 创建用户
# useradd git
# passwd git
// 修改用户权限,只赋予其对git的权限,修改最后一行
# vim /etc/passwd
git:x:1001:1001::/home/git://bin/git-shell
创建空仓库
# mkdir /repo && cd /repo
# git init --bare test.git
// 赋予权限
# chown -R git
使用添加ssh公钥
# cd /home/git
// 修改权限, 很重要
# mkdir .ssh && chmod 700 .ssh
# cd .ssh
// 修改权限, 很重要
# touch authorized_keys && chmod 600 authorized_keys
// 把你客户端用户根目录下的.ssh目录中的id_rsa.pub文件中的内容复制到authorized_keys中
// 例如windows下路径为C:\Users\Administrator\.ssh\id_rsa.pub
# vim authorized_keys
// 若仍然不能免密登录, 尝试修改配置文件
# vim /etc/ssh/sshd_config
开始使用git
// 添加远程仓库, 打开gitbash
git remote add origin ssh://git@yourip/repo/test.git
git push -u origin master