如何从GitLab CE中的文件系统下载git存储库?

时间:2017-03-24 08:28:14

标签: git gitlab

我有GitLab CE,但安装已损坏,我无法启动它。我如何从文件系统下载和打开所有存储库?

更新:

在gitlab.rb中我有git存储库路径,它是:/var/opt/gitlab/git-data/repositories/,但是我发现了:

FETCH_HEAD
HEAD
config
description
hooks -> /opt/gitlab/embedded/service/gitlab-shell/hooks
hooks.old.1478620628
info
objects
refs

但是没有通常的存储库包含源代码。

1 个答案:

答案 0 :(得分:4)

这是一个裸存储库(您可以在this SO question中看到非常清晰的描述。)

它不包含代码的结帐副本,但您可以将其用作git clonegit fetch / pullgit push的常规定位:

  • 如果它与您的工作计算机在同一台计算机上,您可以将其克隆到常规存储库:

    # in your development directory :
    $ git clone /var/opt/gitlab/git-data/repositories/<project-dir>
    
  • 如果它位于您可以通过ssh访问的计算机上,则可以通过ssh克隆它:

    $ git clone user@server:/var/opt/gitlab/git-data/repositories/<project-dir>
    
  • 如果您的gitlab已关闭,并且没有其他用户可以修改此存储库,则可以安全地复制目录或制作tar存档:

    $ cd /var/opt/gitlab/git-data/repositories/
    $ tar -czf project.tgz project-dir/
    
    # then copy this tar archive anywhere you want,
    # extract it, and use it as above
    

上述任何一项也会为您提供当前仓库的备份,您可以使用它来恢复您的gitlab。