服务器安装Git详细步骤
一、安装Git依赖及Git
1、安装Git依赖:
在CentOS系统中,可以使用yum来安装Git的依赖包,打开终端并输入以下命令:
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
2、安装Git:
使用yum安装Git:
sudo yum install -y git
二、创建“用户组”和“用户”,用来运行git服务
1、创建用户组:
创建一个名为git的用户组:
sudo groupadd git
2、添加git用户组下的用户:
创建一个名为phper的用户,并将其添加到git用户组:
sudo adduser phper -g git
3、为用户名为phper的用户设置密码:
为新用户phper设置密码:
sudo passwd phper
三、建立Git仓库
1、创建仓库目录:
创建一个名为gitroot的目录:
mkdir gitroot
2、修改目录权限:
将gitroot目录的所有权更改为phper:git:
sudo chown -R phper:git gitroot
3、初始化Git仓库:
进入gitroot目录并初始化一个空的Git仓库:
cd /gitroot sudo -u phper git init --bare project.git
4、修改仓库权限:
修改project.git目录的权限:
sudo chmod -R 774 project.git
5、修改上级目录权限:
修改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 git
2、生成SSH公钥:
打开Git Bash或终端,输入以下命令生成SSH公钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示操作,生成SSH公钥和私钥。
五、创建证书登录
1、切换到phper目录:
切换到phper用户的主目录:
cd /home/phper
2、创建.ssh目录:
创建一个名为.ssh的目录:
mkdir .ssh
3、修改.ssh目录权限:
修改.ssh目录的权限:
sudo chmod 700 .ssh
4、创建authorized_keys文件:
在.ssh目录下创建一个名为authorized_keys的文件:
touch .ssh/authorized_keys
5、修改authorized_keys文件权限:
修改authorized_keys文件的权限:
sudo chmod 600 .ssh/authorized_keys
6、上传公钥到authorized_keys文件中:
将之前生成的SSH公钥内容复制到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keys
六、克隆到本地并进行配置
1、克隆远程仓库到本地:
使用Git客户端克隆远程仓库到本地:
git clone git@服务器IP:/gitroot/project.git
2、修改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>&1
3、修改post-receive文件权限:
修改post-receive文件的权限:
chmod -R 774 post-receive sudo chown phper:git post-receive
4、创建项目目录并修改权限:
在www目录下创建project目录并修改权限:
mkdir /alidata/www/project sudo chown -R phper:git /alidata/www/project sudo chmod -R 774 /alidata/www/project
5、克隆仓库到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<