服务器安装Git详细步骤
一、安装Git依赖及Git

1、安装Git依赖:
在CentOS系统中,可以使用yum来安装Git的依赖包,打开终端并输入以下命令:
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel2、安装Git:
使用yum安装Git:
sudo yum install -y git二、创建“用户组”和“用户”,用来运行git服务
1、创建用户组:
创建一个名为git的用户组:

sudo groupadd git2、添加git用户组下的用户:
创建一个名为phper的用户,并将其添加到git用户组:
sudo adduser phper -g git3、为用户名为phper的用户设置密码:
为新用户phper设置密码:
sudo passwd phper三、建立Git仓库
1、创建仓库目录:
创建一个名为gitroot的目录:

mkdir gitroot2、修改目录权限:
将gitroot目录的所有权更改为phper:git:
sudo chown -R phper:git gitroot3、初始化Git仓库:
进入gitroot目录并初始化一个空的Git仓库:
cd /gitroot
sudo -u phper git init --bare project.git4、修改仓库权限:
修改project.git目录的权限:
sudo chmod -R 774 project.git5、修改上级目录权限:
修改gitroot目录的权限:
cd ../
sudo chmod 750 gitroot四、安装Git客户端并生成公钥
1、安装Git客户端:
在Windows系统中,可以从[Git官网](https://git-scm.com/downloads)下载并安装Git客户端。
在Linux系统中,如果尚未安装Git客户端,可以使用以下命令进行安装(以Ubuntu为例):
sudo apt-get update
sudo apt-get install git2、生成SSH公钥:
打开Git Bash或终端,输入以下命令生成SSH公钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"按提示操作,生成SSH公钥和私钥。
五、创建证书登录
1、切换到phper目录:
切换到phper用户的主目录:
cd /home/phper2、创建.ssh目录:
创建一个名为.ssh的目录:
mkdir .ssh3、修改.ssh目录权限:
修改.ssh目录的权限:
sudo chmod 700 .ssh4、创建authorized_keys文件:
在.ssh目录下创建一个名为authorized_keys的文件:
touch .ssh/authorized_keys5、修改authorized_keys文件权限:
修改authorized_keys文件的权限:
sudo chmod 600 .ssh/authorized_keys6、上传公钥到authorized_keys文件中:
将之前生成的SSH公钥内容复制到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keys六、克隆到本地并进行配置
1、克隆远程仓库到本地:
使用Git客户端克隆远程仓库到本地:
git clone git@服务器IP:/gitroot/project.git2、修改post-receive文件:
编辑hooks/post-receive文件,添加以下内容以实现自动同步:
#!/bin/sh
unset GIT_DIR
DeployPath="/alidata/www/project"
LogPath="/alidata/gitroot/project.git/hooks"
echo -e "
=================date +"%Y-%m-%d %H:%M:%S" ===============
" >> $LogPath/gitsync.log 2>&1
cd $DeployPath
git pull origin master >> $LogPath/gitsync.log 2>&1
echo "================================================" >> $LogPath/gitsync.log 2>&13、修改post-receive文件权限:
修改post-receive文件的权限:
chmod -R 774 post-receive
sudo chown phper:git post-receive4、创建项目目录并修改权限:
在www目录下创建project目录并修改权限:
mkdir /alidata/www/project
sudo chown -R phper:git /alidata/www/project
sudo chmod -R 774 /alidata/www/project5、克隆仓库到www目录:
将仓库克隆到www目录:
cd /alidata/www
git clone /gitroot/project.git project七、可能预见的错误及解决方法
1、fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree:
错误原因:同步的项目文件夹没有建立。
解决方法:在www下建立project项目文件夹。
2、fatal: Not a git repository (or any of the parent directories): .git:
错误原因:项目文件里没有git初始化。
解决方法:在www路径下执行git clone /alidata/gitroot/project.git。
3、error: cannot open .git/FETCH_HEAD: Permission denied:
错误原因:git在项目目录没有写入权限。
解决方法:修改所有者以及权限chown -R phper:git project和chmod -R 774 project。
4、每次pull push的时候还是要输入密码:
错误原因:秘钥没有起作用。
解决方法:检查/var/log/secure日志,确认.ssh的权限是否正确(chmod 700 .ssh和chmod 600 .ssh/authorized_keys)。
八、相关问题与解答栏目
1、问题1:如何在服务器上安装Git?
解答:在服务器上安装Git可以通过以下步骤完成:确保系统满足Git的基本要求(如内存和硬盘空间),根据操作系统的不同,使用相应的包管理器(如yum或apt-get)安装Git及其依赖项,验证Git是否成功安装,并配置必要的环境变量。
2、问题2:如何配置Git以使用SSH密钥进行身份验证?
解答:要配置Git使用SSH密钥进行身份验证,首先需要在客户端生成SSH密钥对(公钥和私钥),然后将公钥添加到服务器上的~/.ssh/authorized_keys文件中,并确保该文件的权限正确(chmod 600 ~/.ssh/authorized_keys),在克隆或推送仓库时,使用SSH URL而不是HTTPS URL。
各位小伙伴们,我刚刚为大家分享了有关“服务器安装git详细步骤”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/20654.html<
