将 GitLab 与 Git 存储库集成

将 GitLab 与 Git 存储库集成

我的服务器上有一个 GitLab,当然还有 Git 作为我的存储库系统。

但我在将它们相互集成时遇到了问题。看起来我正在 GitLab 中创建项目并添加 README 文件(存储库存储方式与我在 中看到的一样/var/opt/gitlab/git-data/repositories)。

因此应该在存储库中创建项目/var/opt/gitlab/git-data/repositories/wojsza,我在这个文件夹中看到的只是带有 git 扩展名的项目名称(在本例中playground.git)。

当我尝试做git statusgit remote -v得到

fatal: not a git repository (or any of the parent directories): .git

如果我尝试克隆它,也会发生同样的事情()git clone [email protected]:wojsza/playground.git

fatal: 'wojsza/playground.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

但是,当我在主文件夹中手动创建一些新的存储库时,git init它可以工作并且我可以克隆它,但它无法在 GitLab 中识别。

这个问题的根源可能是什么?

答案1

这不是您(通常)使用 Gitlab 存储库或任何 Web 托管的 Git 存储库(Gitlab、Github、Bitbucket……)的方式。

Gitlab repo 旨在用作远程存储库,而不是本地存储库。

在 Gitlab 项目主页上,有一个“克隆”按钮。它包含一个 URL、SSH 或 HTTPS(或两者),具体取决于您的 Gitlab 配置。必须在您的计算机上的命令中使用此 URLgit clone才能创建项目的本地实例,然后您可以发出git pushgit pull以将您的修改发送到 Gitlab 存储库。

这里是 Gitlab CE 的 Gitlab 页面:

项目页面右侧的“克隆”按钮


编辑

另一件很酷的事情:根据你的 Gitlab 配置,你可以在你的计算机上创建一个本地 git repo git init,然后添加一个不存在Gitlab 项目作为远程项目

git remote add origin https://gitlab.example.com/path/to/repo.git

然后,在第一个中git push,将创建相应的 Gitlab 项目和存储库。这取决于您的 Gitlab 配置,并且可能未在您的实例上获得授权。并且您可能需要明确指定要推送的分支,因为您的本地分支不会设置任何跟踪/远程分支。

答案2

我遇到了同样的问题,我通过在克隆存储库时提供整个 URL 解决了该问题。对于您的情况: git clone [email protected]:/var/opt/gitlab/git-data/repositories/wojsza/playground.git

相关内容