gogs 调研

官网
github
环境需求文档
下载地址

一. 简介

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

Gogs 简单说就是简单版本的 github,可以提供代码和文档的存放。

二. 特点

优点:

  • 跨平台
  • 易安装
  • 轻量级
  • 开源化

缺点:

  • 当前功能少
  • 存在很多问题,不像 gitlab 每月稳定更新

MySQL 版本要大于 5.7

创建数据库
CREATE DATABASE gogs DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

安装 git
yum -y install git

下载包
wget https://github.com/gogs/gogs/releases/download/v0.11.53/linux_amd64.tar.gz

tar -xf linux_amd64.tar.gz
cd gogs
nohup ./gogs web &>/dev/null &

访问 3000 端口即可设置信息
在网页配置完信息后,要关闭 gogs 一次,再打开即可。

如果账号密码没设置,第一个注册用户为管理员

后面更改配置:gogs/custom/conf/app.ini

一. 基本功能介绍

主板说明

图中1表示自己个人账户下的仓库(所有权属于自己)
自己个人账户下的仓库一般为自己创建,或者其他仓库所有者转让仓库。自己对该仓库具有全部权限(写入/删除文件、增加成员、删除成员、合并分之、审核分之)

图中2表示自己参与的仓库 (所有权不属于自己)
参与的仓库一般为组织拥有的仓库。自己对该仓库拥有的权限为组织分配的权限。

页面说明

用户设置

二. 仓库

新建仓库

右上角点击创建新的仓库

迁移仓库

迁移外部仓库
可以使用 gogs 自带的功能去迁移外部仓库

需要填写 git 仓库所在地址,如果是私有仓库,需要账号和密码。

本地推送
新建一个空的仓库,不套用模板

在命令行下载要迁移的项目,当前示范为 sai 文件夹为项目。删除.git 的文件,将内容移动到下载后的 b 项目中并添加到 git 的缓存区域

将当前项目提交到 gogs 的 b 仓库中,需要输入账号密码。

仓库介绍

点击仓库设置,可以在这里进行仓库转移所有权,添加协作者,管理分支等等。

三. 组织和团队

创建新组织

在 gogs 中组织相当于公司,团队相当于公司内部的分组,比如 php 组,java 组,而属于 php 组的项目,java 组没有管理权限。

个人创建的项目,转移到组织,个人奖保留管理权限。

创建团队

默认加入组织的对任何项目没有权限,需要创建团队,将人员加入团队中

管理员可以给团队分配项目仓库和成员,给团队添加仓库,需要先加入仓库。

一. 在组织中添加成员,一直显示普通用户

组织是公司,团队是公司中的不同队伍。
例如 A 团队设置为加入就有管理员权限,那加入就有管理员。
但在组织成员那一栏中加入成员,可能会导致有些成员,显示普通成员。
需要点击右侧,团队,在团队中管理成员。