首页 > 系统相关 >基于centos release 7.9.2009的LINUX进行Git服务器搭建

基于centos release 7.9.2009的LINUX进行Git服务器搭建

时间:2023-05-02 16:34:10浏览次数:36  
标签:Git centos -- sudo myproject git srv 2009

1.安装 Git
首先需要在 CentOS Linux 7.9.2009 上安装 Git。可以使用以下命令在命令行中安装:

sudo yum install git
2.创建 Git 仓库
在 CentOS 上创建 Git 仓库有两种方式:创建本地 Git 仓库或创建远程 Git 仓库。如果想要将 CentOS Linux 7.9.2009 作为 Git 服务器,需要创建远程 Git 仓库。

在服务器上选择一个目录作为 Git 仓库的根目录,并使用以下命令创建 Git 仓库:

sudo mkdir -p /srv/git/myproject.git
sudo chown git:git /srv/git/myproject.git
cd /srv/git/myproject.git
sudo git init --bare
其中,/srv/git/myproject.git 是 Git 仓库的根目录,git 是一个新建的系统用户和组用于运行 Git 服务,--bare 参数表示创建一个不包含工作区的 Git 仓库。

3.配置 Git 用户
需要创建一个专用的系统用户来管理 Git 仓库。可以使用以下命令创建 git 用户和组:

sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group git
4.配置 SSH 访问
为了安全地使用 Git 服务,需要配置 SSH 访问。可以通过以下步骤配置 SSH:

创建 SSH 公钥并将其添加到 Git 仓库中。
在 Git 仓库的根目录中创建 authorized_keys 文件,将 SSH 公钥添加到该文件中。
可以使用以下命令创建 SSH 公钥:

ssh-keygen
在命令行中执行上述命令后,系统将提示您输入 SSH 密钥的名称和密码。输入 id_rsa 作为密钥名称并按 Enter,之后提示输入密码,也可以直接回车不设密码。

之后,可以将公钥添加到 Git 仓库中:

sudo mkdir -p /srv/git/myproject.git/hooks
sudo chmod 755 /srv/git/myproject.git/hooks
sudo touch /srv/git/myproject.git/hooks/post-receive
sudo chmod +x /srv/git/myproject.git/hooks/post-receive
sudo sh -c "echo '#!/bin/bash' > /srv/git/myproject.git/hooks/post-receive"
sudo sh -c "echo 'git --work-tree=/srv/myproject --git-dir=/srv/git/myproject.git checkout -f' >> /srv/git/myproject.git/hooks/post-receive"
sudo chown -R git:git /srv/git/myproject.git/hooks
以上命令创建了一个 post-receive 钩子来自动更新代码。该钩子可以确保在每次推送新代码时,仓库中的文件夹与 Git 仓库中的内容一致。

5.启动 Git 服务
为了启动 Git 服务,需要在 Git 仓库的根目录中运行以下命令:

sudo git daemon --reuseaddr --base-path=/srv/git --export-all --verbose --enable=receive-pack
该命令会在默认端口上启动 Git 服务。如果需要使用自定义端口,可以使用以下命令:

css
Copy code
sudo git daemon --reuseaddr --base-path=/srv/git --export-all --verbose --enable=receive-pack --port=8080
其中,--port=8080 表示 Git 服务将在 8080 端口上启动。

6.客户端访问 Git 服务器
现在已经成功搭建了 Git 服务器,可以使用 Git 客户端通过 SSH 协议访问 Git 仓库。可以使用以下命令从 Git 服务器克隆仓库:

git clone ssh://[email protected]:/srv/git/myproject.git
其中,user 是 Git 仓库的专用用户,your-server.com 是 Git 服务器的 IP 地址或域名,/srv/git/myproject.git 是 Git 仓库的根目录。

在使用 Git 客户端访问 Git 服务器时,需要输入 Git 服务器的 SSH 密钥。在 SSH 密钥对生成后,可以将公钥添加到 Git 服务器的 authorized_keys 文件中,以授权访问。

标签:Git,centos,--,sudo,myproject,git,srv,2009
From: https://www.cnblogs.com/yu-zexin/p/17367860.html

相关文章

  • 基于centos release 7.9.2009的LINUX基础知识
    以下是一些你需要了解的基本命令:ls:列出当前目录下的文件和文件夹。cd:改变当前目录。mkdir:创建新的文件夹。rm:删除文件或文件夹。vi:打开一个文本编辑器。接下来,我们将讨论一些重要的运维任务和相应的命令:安装软件包yuminstall<package-name>:使用yum命令来安装软件包......
  • Git - commit a single file
    Use'gitcommit-m<commit_message>--<path_to_file>'tocommitasinglefile. $>gitstatusOnbranchmainYourbranchisuptodatewith'origin/main'.Changestobecommitted:(use"gitrestore--staged<file......
  • 浅谈如何使用 github.com/kardianos/service
    在实际开发过程中,有时候会遇到如何编写Go开机自启服务的需求,在linux中我们可以使用systemd来进行托管,windows下可以通过注册表来实现,mac下可以通过launchd来实现,上面的方式对于开发者来说,并不是什么困难的事情,但是对于使用者而言,是并不希望通过这么复杂的方式来达到开机自启的功能......
  • Redis 是在CentOS 5.7上学习入门文章起步
    Redis是在CentOS5.7上学习入门文章起步  Rdis和JQuery一样是纯粹为应用而产生的,这里记录:1.Redis简介Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有......
  • GIT的使用与碰到的问题与解决方案
     这个里面包含了git的基本概念、git的命令、关于项目的本地仓库的创建所谓的GIT就是用于存档,备份,允许我们的代码有容错的机会,比如:玩游戏魂斗罗小游戏前几关很简单很容易,到后面越来越难,如果没有存档机制我们几条命用完之后,再重新去跑、玩,会非常非常浪费时间,这样用户体验就很不好......
  • Mac M芯片使用PD安装centos7无页面安装
    1、选择Centos镜像点击继续设置虚拟机名称:点击创建:选择第一个回车开始下载系统,下载完成进入设置页面,首先输入1设置语言:进入语言设置,选择77普通话:选择c继续,又回到系统配置主页面:选择2进入设置时区页面设置时区:2:Asia 65:Shanghai选择c返回继续,5系统安装设置:......
  • CentOS 7的下载安装配置教程
    CentOS7的下载安装配置教程  CentOS主流版本有7和8,我们这里选择CentOS7进行安装,因为现在8已经不更新了,CentOS8是一个介于实验性版本和稳定商业版本之间的产物,是最后一个版本,一般情况下,我们更追求稳定性,所以我们选择CentOS7。相关下载:  CentOS7镜像:http://mirrors.......
  • [oeasy]python0145_版本控制_git_备份还原
    git版本控制回忆上次内容上次我们了解了try的完全体try尝试运行 except发现异常时运行的代码块 else没有发现异常时运行的代码块 finally无论是否发现异常最终都要运行的代码块  ​ 添加图......
  • centos7 安装centos桌面
    一、输入命令yumgroupinstall"GNOMEDesktop""GraphicalAdministrationTools"二、设置系统启动等级。systemctlget-default#获取当前系统运行形式,会显示multi-user.target(命令行终端),或者:graphical.targetsystemctlset-defaultgraphical.target#设置默认启动为图形界面,re......
  • Centos7 安装 python3.9
    今天差点把服务器搞砖了,3.6无法满足要求,3.7一直装不上。重装之前遇到这篇文章,搞定Centos7系统安装Python3.9图文教程......