当前位置: 首页 > news >正文

git使用指南-实践-搭建git私服

一.创建git私服的核心基础

所谓的git私服,其实就是在一个服务器上创建一个个的git仓库,并且这些仓库允许其在一个网络上被其他用户访问。

创建一个最素的git私服:随便找一台linux服务器,这里假设其ip为192.168.0.6,使用的linux用户为gitdoc。

我们在这台服务器上创建一个目录repos.git,然后进入到这个目录下执行git init --bare,这样就创建好了一个远程仓库了。像下面这样。

d991bf83a1e54fb8bb8332dbd7dc2122.png

这样一个远程的git仓库就创建好了,当你添加了正确的ssh公钥后,你就可以通过

git clone gitdoc@192.168.0.6:/home/gitdoc/repos.git

把远程仓库克隆到本地了,但是这样一个git私服,它只提供了版本管理、分支管理、代码共享等基础能力,对于多人协作的支持是非常弱的。所以在常规的生产环境下我们一般会选择一个成熟的git私服产品来搭建我们的服务器。比如gitlab、gitea。或者直接使用gitcode、github、gitee这样的产品。下面我们以gitea为例来讲解如何在一个linux服务器上搭建git私服。

二.搭建gitea私服

gitea是一个开源的用go语言写的一个git私服产品。几乎github上有的功能它都有。它也提供免费版和付费版,一般情况下,免费版也足够使用了。

官网:Gitea Official Website

下载地址:Gitea Official Website

97bea8f293064807b76f6e6abc53fd55.png

这里我们根据自己的服务器情况下载正确的版本即可。下载下来的文件就是一个可执行的二进制文件。

cef7140e2029428ab5a53d64f416408f.png

初始状态下,他是没有执行权限的,使用chmod命令给他一个执行权限,然后将其重命名为gitea。

a0d07f536a4847c5a1f03e255bc6f6d4.png

gitea的运行需要一个数据库,大众的数据库它都支持,这里我使用的是mysql。数据库的操作这里不做介绍了,你只需要为gitea创建一个空的数据库就行了,这里假设这个数据库的名字是giteadb。

然后你就可以执行gitea这个程序了,如下

3d143521f3964f76a9ca4573ccf8f19e.png

第一次执行它会运行在3000这个端口上,你用浏览器第一次访问这个地址会出现一个初始化的页面,用来设置一些配置信息。如下,重要的参数已在下图标注。

e151e38ef4364ef1a4bd9030aa594675.png

fe8a7507052f44f3a04452bdae0c10d0.png

然后点击install gitea按钮,等待一小会就安装好了。安装好后会跳入下面的界面

659c0e95c8af4f66ab1436e734673b0d.png

点击注册按钮,注册一个新的账号,这里注意你第一次注册的账号是管理员账号。最好不要用这个账号作为你的常规账号。注册完管理员账号再注册一个新的账号作为自己的常规账号。

登录上来后是这样的

8dcbc229f66d4bed80a24f6f6d22a797.png

三.gitea功能简单介绍

一个完整代码托管平台有的功能它几乎都有。

创建组织

创建个人仓库

创建组织仓库

仓库管理方面

pull request 

issue

wiki文档编写

版本发布等等 这里不列举了,自行探索吧。

4832fb7ad81e49b590a32e5f7aa96a31.png


http://www.mrgr.cn/news/82197.html

相关文章:

  • 【Rust自学】9.2. Result枚举与可恢复的错误 Pt.1:match、expect和unwrap处理错误
  • 机器学习算法深度解析:以支持向量机(SVM)为例的实践应用
  • TikTok for WooCommerce 介绍:如何利用 TikTok for Business 提升在线商店的业绩
  • SQL 分析函数与聚合函数的组合应用
  • 监控工具(Nagios)
  • 前端-工具总结
  • 数据仓库中的指标体系模型介绍
  • Frontend - 分页(针对 python / Django )
  • 用Python操作字节流中的Excel工作簿
  • SpringCloud源码分析-Ribbon与LoadBalancer
  • python实现自动登录12306抢票 -- selenium
  • Yolo11改进策略:注意力改进|Neck层改进|SCSA,探索空间与通道注意力之间的协同效应|即插即用
  • 【Rust自学】9.2. Result枚举与可恢复的错误 Pt.1:match、expect和unwrap处理错误
  • 【Rust自学】9.1. 不可恢复的错误以及panic!
  • 【Rust自学】8.6. HashMap Pt.2:更新HashMap
  • 深入探讨服务器虚拟化:架构、技术与应用
  • 我们能否使用 ANSYS SPEOS 测量水质?
  • Unity3D仿星露谷物语开发14之Custom Property Attribute
  • 偏移类窗口函数—— LAG()、LEAD()用法详解
  • 【Kafka 消息队列深度解析与应用】
  • 【Rust自学】8.5. HashMap Pt.1:HashMap的定义、创建、合并与访问
  • 【分布式缓存中间件Memcached原理与应用】
  • 面试题汇总
  • GXUOJ-算法-第四次作业(圆排列、连续邮资、n皇后、符号三角形)
  • 【非关系型数据库Redis 】 入门
  • primevue的<Menu>组件