BSW Asked:2020-08-20 01:05:31 +0800 CST2020-08-20 01:05:31 +0800 CST 2020-08-20 01:05:31 +0800 CST 是否可以从 gitlab 数据目录恢复源? 772 带有 gitlab 的服务器无法启动。没有备份。可以只从磁盘中获取 /var/opt/gitlab 文件夹。它包含一个带有 var/opt/gitlab/git-data/repositories 存储库的目录。 图片中特定存储库中的文件夹结构。 是否可以以某种方式从该目录获取项目源? git 1 个回答 Voted Best Answer KoVadim 2020-08-20T15:49:19+08:002020-08-20T15:49:19+08:00 由于所有必要的文件都在那里,它看起来像一个有效的裸存储库(即,没有工作目录的存储库,在“服务器”上很常见)。但是您可以像往常一样将其转换为“普通视图”。 在这里找到http://ibrahimsawalha.blogspot.com/2017/07/convert-bare-git-repository-into-normal.html并进行了改编。 创建目录.git 将所有这些文件和文件夹(config、description、HEAD和objects其他)移到那里。 实际运行git config --local --bool core.bare false以进行转换。 运行git reset --hard或手动检出所需的分支。 奇怪,我在那里看不到存储分支的分支目录。但是,如果出现问题 - 将有可能创建。 注意:这正是在完全恢复存储库之前最好不要运行任何 GUI 实用程序的情况。由于分支目录不可见,这些实用程序可能看起来像一个带有远程分支的存储库,它们可能很乐意为您提供“清理垃圾”(我做过)。另外,不要从git gc句柄开始。 另外:无论如何,制作存储库的副本(或它的剩余部分)并将其放置在安全的地方(例如,在外部驱动器上)。
由于所有必要的文件都在那里,它看起来像一个有效的裸存储库(即,没有工作目录的存储库,在“服务器”上很常见)。但是您可以像往常一样将其转换为“普通视图”。
在这里找到http://ibrahimsawalha.blogspot.com/2017/07/convert-bare-git-repository-into-normal.html并进行了改编。
.git
config
、description
、HEAD
和objects
其他)移到那里。git config --local --bool core.bare false
以进行转换。git reset --hard
或手动检出所需的分支。奇怪,我在那里看不到存储分支的分支目录。但是,如果出现问题 - 将有可能创建。
注意:这正是在完全恢复存储库之前最好不要运行任何 GUI 实用程序的情况。由于分支目录不可见,这些实用程序可能看起来像一个带有远程分支的存储库,它们可能很乐意为您提供“清理垃圾”(我做过)。另外,不要从
git gc
句柄开始。另外:无论如何,制作存储库的副本(或它的剩余部分)并将其放置在安全的地方(例如,在外部驱动器上)。