安装
wget https://github.com/git/git/archive/refs/tags/v2.33.0.tar.gz
tar -zxvf v2.33.0.tar.gz
cd git-2.33.0
yum install autoconf automake libtool
make configure
mkdir /root/git
./configure --prefix=/root/git
yum install zlib-devel
make
make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vi ~/.bash_profile
export PATH=/root/git/bin:$PATH
export PATH=/root/git/libexec:$PATH
export PATH=/root/git/share:$PATH
source ~/.bash_profile
ln -s /root/lib/git/bin/git /usr/bin/git
1
2
3
4
5
6
7
8
9
10
11
12
免密pull
- 配置global 仓库user信息
- 设置ssh-key
- clone仓库
- 后续就可以免密pull
- 获取仓库的http连接
- 做链接拼接上自己的信息
git clone http://huangdeyu:TNPU4Uxp3JWsJPYvKmBr@gitlab.baidu.com/huangdeyu/yunying-docs.git
1
- 后续也可以免密pull
服务器git免密登录
- 服务器创建本地仓库
adduser git
passwd git
sudo visudo
git ALL=(ALL:ALL) ALL
su git
1
2
3
4
5
6
7
8
9
10
- 本地使用git身份登录服务器
ssh -v git@10.14.xxx.xxx
1
2
3
- 服务器创建免密登录(公私钥)
cd ~
mkdir .ssh && cd .ssh
touch authorized_keys
1
2
3
4
5
6
7
8
- 在本地起一个终端,获取本地公钥
- 关联
echo "这里修改为你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
1
2
3
4
5
6
- 完成远程免密登录
ssh -v git@10.14.xxx.xxx
1
服务器git仓库
- 生成git仓库:
git@10.14.233.17:/home/www/website/blog.git
cd /home/www/website
sudo chown git:git /home/www/website
mkdir blog.git
cd blog.git
git init --bare .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
git init --bare
初始化仓库只包括版本控制文件
- 借助一个 hooks,在有代码提交到该仓库的时候,将提交的代码迁移到其他目录
cd hooks
vim post-receive
git --work-tree=/home/www/website/blog checkout -f
chmod +x post-receive
cd ../../ && mkdir blog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 推到远程仓库
git push -f git@10.14.233.17:/home/www/website/blog.git master
1
- 可以把上传文件存放到
deploy.sh
文件