将可能已安装的 Git 卸掉
安装依赖
bash
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install -y gcc perl-ExtUtils-MakeMaker
从这里选择一个 Git 版本,我选择的是 2.9.5
https://mirrors.edge.kernel.org/pub/software/scm/git/
bash
cd /usr/local/src/
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
tar -vxf git-2.9.5.tar.gz
cd git-2.9.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile
git --version
为了方便管理,所有的 git 仓库都置于同一目录下,假设为 /srv/gitLibrary
bash
mkdir /srv/gitLibrary
git init --bare /srv/gitLibrary/sample.git,
chown -R git:git /srv/gitLibrary
配置 ssh 的目的是为了能免密码访问。
创建 authorized_keys 文件
bash
cd /home/git
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
chown -R git:git /home/git
在客户端上生成密钥
bash
ssh-keygen -t rsa -C "your_email"
一路回车后会产生两个文件: id_rsa
和 id_rsa.pub
,控制台会打印这俩文件的路径,先找到它们,等下要用到。
编辑 authorized_keys 文件
bash
vim /home/git/.ssh/authorized_keys
然后把 id_rsa.pub
文件中的内容拷贝进去,
你也可以上传多个密钥,比如,家里一个电脑,公司一个电脑,每个密钥占一行即可。
至此,远程仓库算是搭建完成了,接下来用客户端测试一下能否将这个仓库拉到本地
bash
git clone ssh://git@x.x.x.x:x/srv/gitLibrary/sample.git