我在.pack文件上做了一个git-unpack-objects。我得到的是从00到ff的很多子目录,每个子目录包含很多名称为SHA1哈希的图块,但是试图显示它们的内容会让我感觉不舒服。现在我需要从这些哈希文件中获取实际的源文件吗?
答案 0 :(得分:2)
如果将.pack文件放在新.git/objects/pack/
存储库的git init
目录中,您应该可以git checkout -b somebranch ANYSHA1
。
例如:
# find a commit:
faux@reg:~/git% git rev-parse HEAD
6f5e880c68099b185e60b2492c75e506e16d8292
faux@reg:~/git% cd ..
# init:
faux@reg:~% git init bar
Initialized empty Git repository in /home/faux/bar/.git/
# add packs:
faux@reg:~% cp git/.git/objects/pack/* bar/.git/objects/pack
faux@reg:~% cd bar
# checkout:
faux@reg:~/bar% git checkout -b somebranch 6f5e880c68099b185e60b2492c75e506e16d8292
Switched to a new branch 'somebranch'
# done!
faux@reg:~/bar% ls
abspath.c
contrib
...