使用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 ...
随机推荐
- Mysql快速删除表中重复的数据
表结构 CREATE TABLE T_VENDOR ( ID ) NOT NULL AUTO_INCREMENT COMMENT 'ID', COUNTRY ) DEFAULT NULL COMMEN ...
- java 8 原版 api 下载地址,
http://download.oracle.com/otn-pub/java/javafx/8.0.25-b17/javafx-8u25-apidocs.zip?AuthParam=14174994 ...
- java同一个类不同方法间的同步
对象的方法中一旦加入synchronized修饰,则任何时刻只能有一个线程访问synchronized修饰的方法.假设有个数据对象拥有写方法与读方法,多线程环境中要想保证数据的安全,需对该对象的读写方 ...
- logstash无法使用conf启动
最近刚开始学习使用logstash,再安装好后准备验证下第一个demo的时候,出现了问题 Error: Expected one of #, input, filter, output at line ...
- 关于redis的主从复制
redis主从复制需要注意的一个问题 这两天我朋友在使用redis偶尔会遇见一个问题,就是所有的缓存莫名其妙会不见,找了好久都没找到,他一直以为 有人错误执行了什么命令 他跟我说的时候我估计是主从复制 ...
- C#获取json字符串指定的值
Newtonsoft.Json在json和对象之间转化是一个非常强大的工具. 对象转化json字符串 Newtonsoft.Json.JsonConvert.SerializeObject() jso ...
- npm命令ionic安装失败cordova安装失败解决方法
转载:http://bbs.phonegap100.com/thread-2622-1-1.html 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): ...
- 判断一个数num是否是2的幂(乐视题)
思路“num &(num-1)==0 返回true,否者返回false.代码如下: boolean isPower(int num){ if(num<=0) return false; ...
- ASP.net 中手工调用WS(POST方式)
ASP.net 中手工调用WS(POST方式)核心代码:string strUrl="http://localhost:21695/service1.asmx/getmythmod" ...
- 自学python3随笔--连接数据库和写EXCEL文件实现
近日在自学python3,选择python,是由于它命令比较简单,语法也不算复杂,对我来说,要实现的功能用100行语句就能够实现.另外,一个原因,它是脚本形式的,调试比较方便,对我这些有很长时间没有写 ...