我有一个 tar.gz 格式的存档 git 存储库,其中包含对象文件夹中的 .pack 文件。
我怎样才能从中提取源代码?
答案1
包文件是 git 存储对象的方式之一(参见“解压 Git Packfile“)。从您的评论来看,存档似乎包含.git
目录的内容,在这种情况下,我猜测 tarball除了包含 之外,还包含像info
和这样的文件夹。refs
objects
因此,要获取实际的源代码,只需解压文件夹:
tar -xvf archive.tar.gz
并将内容移动到名为 的目录中.git
。换句话说,你最终应该得到一个如下所示的目录树
myproject
|-- .git
| |--objects
| | |-- pack
| | | |-- pack-cdfae92.idx
| | | |-- pack-cdfae92.pack
这将在当前目录中“创建”存储库。您可以通过运行来确认这一点git status
- 它会说您删除了一堆文件。要重新填充目录(即“取消删除”文件),只需运行 git checkout master
。