如何详细步骤地在服务器上安装Git?

服务器安装Git详细步骤

一、安装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的用户组:

服务器安装git详细步骤

     sudo groupadd git

2、添加git用户组下的用户

创建一个名为phper的用户,并将其添加到git用户组:

     sudo adduser phper -g git

3、为用户名为phper的用户设置密码

为新用户phper设置密码:

     sudo passwd phper

三、建立Git仓库

1、创建仓库目录

创建一个名为gitroot的目录:

服务器安装git详细步骤

     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 projectchmod -R 774 project

4、每次pull push的时候还是要输入密码

错误原因:秘钥没有起作用。

解决方法:检查/var/log/secure日志,确认.ssh的权限是否正确(chmod 700 .sshchmod 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<

(0)
运维的头像运维
上一篇2024-12-21 16:57
下一篇 2024-12-21 17:01

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注