2012-01-31 74 views
0

我是新来的混帐,并试图做我认为是微不足道的。我只想从下载的档案中提取文件。如何从混帐档案中提取项目树

我用git clone https://android.googlesource.com/kernel/common.git

我得到一个目录下的“通用”与几个子目录包括common/.git/objects/pack/*biglongname*.pack和类似命名的.idx文件。

我已经搜索了一个简单的命令来提取源文件。我试过git档案,git unpack-objects,git pull和一群没有快乐的人。

我在这里错过了什么?这只是很简单。

回答

1

这个仓库是一个有点奇怪,因为HEAD没有文件。你要签两个真正的分支之一:

git checkout android-3.0 

git checkout android-2.6.39 
+0

这很好用。感谢其他响应者! – DontPanic 2012-01-31 20:02:58

+0

欢迎您!请提出您认为相关或有帮助的答案 – CharlesB 2012-01-31 20:43:58

0

如果您只是想要源而不是存储库,只需删除整个.git子目录。

如果你克隆的资源库,你有什么,但.git文件夹,尝试创建一个分支检出代码:

git checkout -b master origin/master 

common目录内做到这一点。

我很惊讶git archive不适合你。这是将来源提取到另一个地方的另一种方式。

+0

嗯。我得到的仅仅是.git和子目录。如果我删除了那个,没什么左边的。 – DontPanic 2012-01-31 19:13:00

+0

我尝试过* * git achive * *> mytar,但我无法弄清楚* *应该是什么* – DontPanic 2012-01-31 19:18:44

+0

尝试查看源代码,因为我已经编辑了我的答案来描述。 – Abizern 2012-01-31 19:29:28

0

此特定存储库中的开发不会发生在master分支上(在克隆后检出默认分支)。您可以使用gitk来查看任何分支中发生的情况,例如在过去的一年

$ gitk --all --since='last year' 

在那里你会看到很多的提交,例如, android-3.0分支。为了您的克隆切换到该分支也

$ git checkout android-3.0 

假如你知道这样,你可以指定分支在克隆时,克隆后进行结帐

$ git clone -b android-3.0 https://android.googlesource.com/kernel/common.git