【Gitea】配置 Push To Create

在 Git 代码管理工具使用过程中,经常需要将一个文件夹作为仓库上传到一个未创建的代码仓库。如果 Git 服务端使用的是 Gitea,通常会推送失败。

shell 复制代码
PS D:\tmp\git-test> git remote add origin http://192.1.1.1:3000/root/git-test.git
PS D:\tmp\git-test> git push --set-upstream origin master
remote: Push to create is not enabled for users.
fatal: unable to access 'http://192.1.1.1:3000/root/git-test.git/': The requested URL returned error: 403

因为 Gitea 默认推送时不创建仓库。

开启 Push To Create

Push To Create即推送创建 , Gitea 提供了两个参数开启推送创建 ,分别是 ENABLE_PUSH_CREATE_USERENABLE_PUSH_CREATE_ORG 。[官方文档介绍](推送 | Gitea Documentation)如下:

推送创建

推送创建是一项功能,允许您将提交推送到在 Gitea 中尚不存在的仓库。这对于自动化和允许用户创建仓库而无需通过 Web 界面非常有用。此功能默认处于禁用状态。

开启推送创建

app.ini 文件中,将 ENABLE_PUSH_CREATE_USER 设置为 true,如果您希望允许用户在自己的用户帐户和所属的组织中创建仓库,将 ENABLE_PUSH_CREATE_ORG 设置为 true。重新启动 Gitea 以使更改生效。您可以在 配置速查表 中了解有关这两个选项的更多信息。

使用推送创建

假设您在当前目录中有一个 git 仓库,您可以通过运行以下命令将提交推送到在 Gitea 中尚不存在的仓库:

shell 复制代码
# 添加要推送到的远程仓库
git remote add origin git@{domain}:{username}/{尚不存在的仓库名称}.git

# 推送到远程仓库
git push -u origin main

这假设您使用的是 SSH 远程,但您也可以使用 HTTPS 远程。

推送创建将默认使用 app.ini 中定义的可见性 DEFAULT_PUSH_CREATE_PRIVATE

具体配置

以上官方章节说明了 Gitea 可以通过配置开启推送创建功能,也给出了两个具体的配置项,但打开开 app.ini (docker 容器启动实例中文件位置为: /data/gitea/conf/app.ini)文件后,你会发现不知道在哪里配置。

因为Gitea有很多功能域,以上文章并没有交代开启推送创建的功能项属于哪个功能域。

配置说明 | Gitea Documentation文档中详细阐述了 Gitea 所有配置项,并且说明了配置项所属的功能域。

通过查看,ENABLE_PUSH_CREATE_USERENABLE_PUSH_CREATE_RRG 都属于 [repository] 功能域。因此配置如下:

重启

配置完成后重启 Gitea 即可。

附 : Win 下 Docker 安装 Gitea 实践-CSDN博客

相关推荐
路由侠内网穿透.20 小时前
本地部署代码托管解决方案 Gitea 并实现外部访问( Windows 版本)
运维·服务器·网络协议·gitea
那起舞的日子20 小时前
ElasticSearch系列-3-java端整合CURD
elasticsearch
历程里程碑1 天前
普通数组----最大子数组和
大数据·算法·elasticsearch·搜索引擎·排序算法·哈希算法·散列表
星辰_mya1 天前
Elasticsearch之下
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
吹牛不交税1 天前
gitea安装windows并实现CICD持续集成部署
ci/cd·gitea
Elastic 中国社区官方博客1 天前
Elasticsearch:使用 Base64 编码字符串加速向量摄取
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Elastic 中国社区官方博客1 天前
介绍 Elastic Workflows:用于 Elasticsearch 的原生自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
Cx330❀1 天前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
岱宗夫up1 天前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode