如何从文件系统将现有存储库添加到 gitea?

问题描述 投票:0回答:3

我的文件系统上有一些裸露的 git 存储库,用户可以在其中进行拉/推操作。 我安装了 gitea,但找不到如何将其添加到 gitea。 其他 git 管理系统有类似“从文件系统添加存储库”、“扫描目录”等功能,将现有存储库添加到系统中。 如何在gitea中添加?

gitea
3个回答
5
投票

目前我从文件系统存储库迁移到 Gitea。

这里详细讨论了如何做到这一点(我们使用了 SSH),我在这里获得了我的方法的基础。

以下步骤对我有用:

  1. 将 repo.git 文件夹克隆到另一个位置

    git clone path/to/repo.git

    
    

  2. 在 Gitea 中创建一个空的存储库。手动或使用 api

    curl \ -X POST "http://localhost:3000/api/v1/user/repos" \ -H "accept: application/json" \ -H "Authorization: token MY_TOKEN*" \ -H "Content-Type: application/json" \ -d "{\"name\": \"REPO_NAME\"}" \ -i
    
    
  3. 可选择转移到组织

    curl \ -X POST "http://localhost:3000/api/v1/repos/CURRENT_OWNER/REPO_NAME/transfer" \ -H "accept: application/json" \ -H "Authorization: token MY_TOKEN*" \ -H "Content-Type: application/json" \ -d "{\"new_owner\": \"NEW_ORGANIZATION_OR_INDIVIDUAL\"}" \ -i
    
    
  4. 将仓库推送到gitea

  • git remote add neworigin "http://localhost:3000/username/test.git"
    
    
  • git push neworigin --all
    
    
  • git push neworigin --tags
    
    
*

https://docs.gitea.io/en-us/api-usage/


3
投票
您可以使用“未采用的存储库”方法(截至 2020 年 9 月合并到

此拉取请求)。

    找到 gitea 的
  1. app.ini
     配置文件并找到 
    APP_NAME
    (用户名)和存储库 
    ROOT
     的值。 
    让我们假设您的配置如下所示:
APP_NAME = dinsdale ... [repository] ROOT = /usr/local/data/gitea-repositories

  1. cd
    $REPO/$APP_NAME
    ,上面的配置将是:
    /usr/local/data/gitea-repositories/dinsdale
    并从本地文件系统上的每个存储库进行裸克隆:
cd /usr/local/data/gitea-repositories/dinsdale git clone --bare /path/to/my/local/repo1 git clone --bare /path/to/my/local/repo2 .. git clone --bare /path/to/my/local/repo42

  1. 单击右上角的个人资料图标,然后选择

    站点管理 -> 选项卡 存储库 -> 单击 未采用的存储库

  2. 将搜索字段留空,然后单击

    Search 按钮。您添加的“未采用”孤立文件夹将显示在下方。

  3. 对于每个存储库,单击

    采用文件 按钮导入孤立的存储库。

要将常规存储库手动转换为裸存储库,请参阅如何将普通 Git 存储库转换为裸存储库?


0
投票
还有一个名为“推送创建”的内置功能,允许您从现有存储库动态创建新存储库。您需要在 app.ini 的存储库块中添加这两个选项,如下所示,然后重新启动 gitea 守护进程。

[repository] ENABLE_PUSH_CREATE_USER = true ENABLE_PUSH_CREATE_ORG = true
完成此操作后,您可以运行以下命令来按需推送和创建存储库。

git remote add origin git@{domain}:{username}/{repo name that does not exist yet}.git git push -u origin main
查看更多信息

https://docs.gitea.com/usage/push#enabling-push-to-create

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.