如何在GitLab中访问和配置实际的存储文件路径?

时间:2019-06-20 18:46:18

标签: git gitlab

背景

GitLab CE安装在个人Ubuntu服务器上。

问题

根据GitLab的文档here,用于存储git文件的默认路径为var/opt/gitlab/git-data,但是当我访问此文件时,它实际上并没有存储库中的文件。它有.git个文件,我不知道它们是什么,也不是我想要的文件。

例如,如果我的存储库名为hard_work,那么当我ls使用以下命令时:

sudo ls /var/opt/gitlab/git-data/repositories/data/hard_hork.git

我发现:

HEAD  config  description  gitlab-worktree  hooks  hooks.old.1260608859  info  language-stats.cache  objects  packed-refs  refs

问题

我的存储库的实际内容在哪里(git clone或通过网络浏览器看到的文件和文件夹。

1 个答案:

答案 0 :(得分:1)

正如评论中其他人所提到的,您在ls上看到的是裸仓库。参见difference between bare and non-bare repository一文。

如果您希望能够直接在服务器上浏览裸仓库(不确定如果可以访问gitlab上的仓库,为什么要这样做),可以使用git ls-tree列出文件和git cat-file检查对象:

sudo git --git-dir /var/opt/gitlab/git-data/repositories/data/hard_hork.git ls-tree --full-tree -r master
sudo git --git-dir /var/opt/gitlab/git-data/repositories/data/hard_hork.git git-cat -p <blob>

如果需要使用Ubuntu Server上存储库中的脚本,则应在服务器上的某个位置克隆存储库,这样便可以查看文件。请注意,克隆的文件夹不会与GitLab存储库“同步”,您需要手动更新(或在cron作业中)。