我的文件系统上有一些裸露的 git 存储库,用户可以在其中进行拉/推操作。 我安装了 gitea,但找不到如何将其添加到 gitea。 其他 git 管理系统有类似“从文件系统添加存储库”、“扫描目录”等功能,将现有存储库添加到系统中。 如何在gitea中添加?
目前我从文件系统存储库迁移到 Gitea。
这里详细讨论了如何做到这一点(我们使用了 SSH),我在这里获得了我的方法的基础。
以下步骤对我有用:
git clone path/to/repo.git
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
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
git remote add neworigin "http://localhost:3000/username/test.git"
git push neworigin --all
git push neworigin --tags
此拉取请求)。
app.ini
配置文件并找到
APP_NAME
(用户名)和存储库
ROOT
的值。让我们假设您的配置如下所示:
APP_NAME = dinsdale
...
[repository]
ROOT = /usr/local/data/gitea-repositories
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
站点管理 -> 选项卡 存储库 -> 单击 未采用的存储库。
Search 按钮。您添加的“未采用”孤立文件夹将显示在下方。
采用文件 按钮导入孤立的存储库。
要将常规存储库手动转换为裸存储库,请参阅如何将普通 Git 存储库转换为裸存储库?
[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
查看更多信息