背景:
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
或通过网络浏览器看到的文件和文件夹。
答案 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作业中)。