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

【git】在Windows上搭建git服务器

1、简述

常用的搭建git服务器的工具有:Gogs、Gitblit、Gitea、GitLab
它们的区别如下:

功能GogsGitblitGiteaGitLab
界面语言中文、英文等多语言英文为主中文、英文等多语言英文为主
权限管理基础分支权限详细分支权限基础 + 详细分支权限非常完善
代码审查简单 PR简单代码评论完整 PR完整 MR
持续集成 / 部署无内置无内置内置 Drone 支持内置强大 CI/CD
仓库大小限制支持支持支持支持
LDAP/AD 集成支持支持支持支持
项目 Wiki支持支持支持支持
问题跟踪系统简单简单完整完整

2、优缺点

1)Gogs

  • 优点:轻量级,资源占用少;部署简单;界面简洁直观。
  • 缺点:功能相对基础;插件生态不够丰富。
  • 适合场景:个人或小型团队;对资源和功能要求不高的场景。

2)Gitblit

  • 优点:纯 Java 实现,跨平台性好;提供基于 Web 的代码浏览和搜索功能。
  • 缺点:界面设计较陈旧;中文支持有限。
  • 适合场景:Java 技术栈团队;需要纯 Java 解决方案的环境。

3)Gitea

  • 优点:基于 Go 语言开发,部署简单;功能丰富,接近 GitLab 的简化版;社区活跃,插件生态逐渐完善。
  • 缺点:CI/CD 功能相对 GitLab 较弱。
  • 适合场景:中小型团队;需要轻量级但功能较全面的解决方案。

4)GitLab CE

  • 优点:功能全面,提供完整的 DevOps 工具链;社区活跃,文档完善;支持大规模部署。
  • 缺点:资源占用大;部署和维护复杂度高。
  • 适合场景:中大型团队;需要完整 DevOps 流程支持的企业。

3、安装Gitea

3.1 安装git

1)下载
下载地址:https://gitforwindows.org/
指定版本:https://github.com/git-for-windows/git/releases/tag/v2.49.0.windows.1

2)安装
在这里插入图片描述
在这里插入图片描述

3)配置
确保 Git 命令已添加到系统环境变量中:
右键“我的电脑,点击“属性” --> “高级系统设置” -> “环境变量”。
检查 PATH 中是否包含 Git 的安装路径(如 D:\bin\git\cmd)。
如果没有,手动添加。
在这里插入图片描述

3.2 安装gitea

1)下载地址:
https://dl.gitea.com/gitea/1.23.6/

2)安装
gitea是go编写,只有一个可执行文件,创建目录后,将 gitea-1.23.6-windows-4.0-amd64.exe 拷贝至此即可,可以重命名为gitea.exe,方便操作

3)配置
运行:进入E:/gitea,执行 gitea.exe web
浏览器登录:http://localhost:3000/
第一次登录,将进入配置界面,选择数据库为Sqlite
在这里插入图片描述

4、网络问题

1)git代理
如果在拉取代码时报错,可能是git代理问题
启动代理:
git config --global http.proxy ‘socks5h://127.0.0.1:1080’
git config --global https.proxy ‘socks5h://127.0.0.1:1080’

移除代理
git config --global --unset http.proxy
git config --global --unset https.proxy

2)Windows防火墙阻止 ICMP 请求
Windows 默认防火墙会阻止 ICMP(ping)的入站请求,需手动允许。

以管理员身份打开「Windows PowerShell」;
执行以下命令允许 ICMPv4 入站:

New-NetFirewallRule -DisplayName "Allow ICMPv4-In" -Protocol ICMPv4 -Direction Inbound -Action Allow

在这里插入图片描述

http://www.xdnf.cn/news/7566.html

相关文章:

  • 简单的re(零基础AI做题)
  • Pydantic数据验证实战指南:让Python应用更健壮与智能
  • 5.20打卡
  • 【C/C++】现代C++线程池:从入门到生产级实现
  • power BI 倒计时+插件HTML Content,实现更新倒计时看板!
  • 去中心化算力池:基于IPFS+智能合约的跨校GPU资源共享平台设计
  • 2.4.2死锁的处理策略-预防死锁
  • 【解决】rpm 包安装成功,但目录不存在问题
  • jsmpeg+java+ffmpeg 调用摄像头RTSP流播放
  • DNS 域名解析服务器
  • 卷java,继承三
  • 【Java高阶面经】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战
  • 从Ntfs!NtfsReadMftRecord函数到Ntfs!NtfsMapStream函数从0x274a到0xc4312800
  • SAR ADC 比较器寄生电容对性能的影响
  • 镜像管理(2)Dockerfile总结
  • 技术问答:PHP、JAVA和Go的垃圾回收机制有哪些区别
  • HarmonyOS5云服务技术分享--云函数创建配置指南
  • 软考软件评测师——黑盒测试测试方法
  • python 判断远程windows系统中某进程号是否还在
  • 电商运营数据分析指南之流量指标
  • lambda架构和kappa架构区别
  • 【Unity网络编程知识】协议生成工具Protobuf
  • 05 接口自动化-框架封装思想建立之httprunner框架(中)
  • Qt 控件发展历程 + 目标(1)
  • <uniapp><vuex><状态管理>在uniapp中,如何使用vuex实现数据共享与传递?
  • 基于“岗课赛证”融通的农业物联网专业教学方案
  • Ⅱ 链表 episode3
  • 自回归图像编辑 EditAR: Unified Conditional Generation with Autoregressive Models
  • 力扣第5题:最长回文子串(动态规划)
  • 【全解析】EN18031标准下的NMM网络监控机制