使用Gogs搭建Git服务器
Git现在基本上已经代替SVN成为主流的源码管理工具了,我在之前的文章使用GIT进行源码管理——GIT托管服务中介绍过一些国内外的主流在线Git服务,虽然这些在线的Git服务大多非常好用,但是有的时候我们也还是需要搭建自己的Git服务器的,例如企业内部的源码管理或者个人的私人源码管理。
之前在公司使用过GitLab搭建过Git服务器,GitLab本身是非常好用的,但是,在一些轻量级的应用(如人的源码管理服务器)的场景下,搭建和使用过程显得有些复杂了。今天我在这里要给大家介绍另一个简单易用的Git服务器Gogs。
Gogs是一个使用Go语言编写的Git服务器,它可以运行在任何 Go 语言 支持的平台,包括 Windows、Mac、Linux 以及 ARM。基本上是一个跨平台的服务器了。例如我平常大部分的时候是工作在Windows平台的,如果想把我本地的一些代码进行管理的话,如果要用GitLab,使用的时候还需要附个虚拟机,显得非常麻烦。这里我就介绍下在Windows平台如何安装和使用Gogs搭建一个Git服务器。
从官网的安装说明来看,它需要如下的环境:
- 数据库,支持MySQL,PostgreSQL,或者什么都不安装(此时可以选择SQLite 或 TiDB)
- Git(bash)
- SSH服务器,如果只用Http可以不安装
可以看到,如果最简化安装,只需要按照以下Git bash即可。由于我的电脑上之前已经安装了Git,它的安装在Windows平台上基本上一路向下即可,这里就不介绍了。
基本环境准备好后,首先到下载它的安装包,为了简单,这里我直接下载的二进制安装包。解压后可以看到一个gogs.exe文件。使用启动参数 web启动它:
Gogs web
可以看到如下如下画面:

然后根据提示信息,启动浏览器,输入 http://localhost:3000 ,此时即可看到安装界面:

这里我没有安装任何数据库,因此选择的是Sqlite,其它大部分基本上都是选填的,必填的基本上都已经给填好了,对于个人用户,基本上直接点击"立即安装"即可。我这里换了一下仓库的路径,其它的都没有改。这样就已经安装好了,可以直接使用了。直接注册账号即可使用。

安装方式非常简单,基本上一步即可搞定。如果需要更多高级配置,请参看官方说明:配置与运行。
这种方式下,每次启动都要执行"Gogs web"命令,关闭这个exe程序服务器即刻停止,对于个人用户来说这种方式是非常方便的,因为Git对网络依赖性不大,往往只是需要pull或push的时候才需要,此时开启服务即可,用完后关闭,不占用资源。
但是,有的时候,我们希望git服务器是长期运行的(如小型团队内的代码服务器),如果用windows控制台程序很容易不小心被关掉了。一般来讲,团队长期使用的时候,部署在Linux系统上更为合适,如果非要部署在Windows上,可以通过miniwinsvc之类的程序将其封装为服务,官方也有文章介绍了这一方法。
使用Gogs搭建Git服务器的更多相关文章
- Windows 使用 Gogs 搭建 Git 服务器(转)
Windows 使用 Gogs 搭建 Git 服务器 随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在wind ...
- Windows 使用 Gogs 搭建 Git 服务器
随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在windows搭建Git服务器,主要是因界面好看,管理更方便一些. ...
- centos7使用Gogs搭建Git服务器
一.初次接触Gogs,记录一下搭建过程 二.平台环境 Linux: CentOS7.5.1804 MySQL: 5.6.35 安装步骤: linux服务器新建git用户: 下载.解压gogs安装包: ...
- Centos7使用Docker安装Gogs搭建git服务器
gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.co ...
- 用gogs搭建git服务器
Gogs 是一款极易搭建的自助 Git 服务. Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 G ...
- Centos7 用gogs搭建git仓库
0.安装步骤 先安装依赖,然后创建数据库,创建git用户,安装Gogs软件,设置启动,访问web界面进行配置 一.Gogs依赖环境 安装Gogs之前需要配置相应的依赖环境,官网介绍的依赖环境如下: 数 ...
- 搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- centos 搭建git服务器
centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...
随机推荐
- 为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?
首先知道enctype这个属性管理的是表单的MIME编码.共有三个值可选:1.application/x-www-form-urlencoded2.multipart/form-data3.text/ ...
- python中import和from...import区别
在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中 ...
- [Linux] - 攻击查看与IP查封
查看80端口的连接数 netstat -nat|grep -i "|wc -l 查看Nginx的日志命令 tail -f access.log 统计IP访问数 awk '{aaa[$1]++ ...
- Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题
调用bootstrap css框架时,将bootstrap文件夹放入 vendor/assets/下 bootstrap文件结构如下: [shenma@localhost demo]$ ls v ...
- MyEclipse、Eclipse复制web项目
假设现在已经有一个Java Web项目 ProjectA,现在想做另外一个项目ProjectB,它里面绝大部分功能和结构都可以复用ProjectA中的: 我们就可以通过复制项目的方法来做,具体步骤如下 ...
- c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast
C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换.对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式 ...
- 02shell编程环境的搭建
02shell编程环境的搭建 [02]Shell编程 02shell编程环境的搭建 在不同的操作系统上搭建shell编程环境 Linux Windows Mac 编辑器的选择 系统环境的搭建 注: 选 ...
- 数据挖掘之决策树ID3算法(C#实现)
决策树是一种非常经典的分类器,它的作用原理有点类似于我们玩的猜谜游戏.比如猜一个动物: 问:这个动物是陆生动物吗? 答:是的. 问:这个动物有鳃吗? 答:没有. 这样的两个问题顺序就有些颠倒,因为一般 ...
- C#开发分享:如何改变系统鼠标样式
开发过程中发现需要用到改变鼠标样式(就是光标的样子),但是在网上找了很多资料,都是介绍在程序中使用,我需要的效果时在系统级使用.现在找到了,分享给大家. [DllImport("user32 ...
- 在线开发工具helper
发现一个很有用的在线工具大全:http://tool.lu/ 同时,欢迎查看新开i云轩工作室: logo在线制作:http://www.uugai.com/