Centos 7 搭建git环境

本文介绍如何在CentOS 7环境中安装Git,包括配置Git用户、添加公钥证书、创建裸仓库及支持工作目录的远程仓库,并通过post-receive钩子实现自动同步到站点目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Centos 7 install git

服务器环境

CentOS Linux release 7.4.1708 (Core)

cat  /etc/redhat-release

1. 在服务器上安装git

yum install -y git

2. 建立一个git用户,并做初步配置

adduser git

3. 添加公钥证书

cd /home/git
mkdir .ssh
vi authorized_keys

本地生生密钥

ssh-keygen -t rsa -C “your_email@example.com”

将生成的密钥id_rsa.pub添加到 authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAA5AQABAAABAQC1pYB1I9rlojWR7bha+sXTqbI/ZGgv4feaXMCeKK6CCHxTdUAdOsbiIuOOrk5J2uXOXNJ+YiRaMGNkCdkbI8HVMFIp6sCKjKB7qbT5lYI/RXpEbQZ1oazB2ibUaIbZf/JTiBJpK8F/s9yDeuUS3qWIfdiKUyDTH92/IJxqU1LrgzwbtLHnGSacFtnxMfu/bR1pD9vBUYTEdXrI+bFQYCK8G13iCJhGNQhU5Y89vKDSJZGb7PRyf4VPHs8fhE8grkZEaJeDs0wCmZKnaxt/lu/kNqQI7NhQmT/+WgaKhDUMdZv48SP0MnQw//jycUzo1akXH2WhgsrVFf2UtTYTX2iT your_email@example.com

4. 创建仓库

创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git

cd /srv
git init --bare sample.git
chown -R git:git sample.git

5. 克隆仓库

git clone git@server:/srv/sample.git

如果出现以下错误删除本地user/<yourname>/.ssh/known_hosts 文件

mark

6. post-receive实现自动同步到站点目录

如果你是用 git init --bare mygit.git 建立的仓库.
该仓库是没有工作目录的.但问题中你说找不到工作目录.说明远程服务可能是部署工作,需要包含工作目录.

cd /home/testgit/sample.git
cd hooks
# 这里我们创建post-receive文件
vim post-receive

./git/hooks/post-receive 文件内容

#!/bin/bash
git --work-tree=/home/www checkout -f

权限相关:

# 保存退出后,将该文件用户及用户组都设置成git
chown git:git post-receive
# 由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
chmod +x post-receive

7. 创建支持工作目录的远程仓库

# 远程服务器初始化仓库
git init <仓库名>
# 设置允许远程接收文件
git config receive.denyCurrentBranch ignore

在远程仓库,post-receive 钩子文件中添加自动更新工作目录内容

WORK_TREE='../'
git  --work-tree="${WORK_TREE}" reset --hard

:smiling_imp: 确保 post-receive 具有执行权限

后续更新gitolite 的相关使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值