如何从git存档中提取项目树

时间:2012-01-31 19:07:35

标签: git

我是git的新手,并试图做我认为琐碎的事情。我只想从下载的档案中提取文件。

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

我有一个目录"常见"有几个子目录,包括common/.git/objects/pack/*biglongname*.pack和类似名称的.idx文件。

我已经搜索了一个简单的命令来提取源文件。我已经尝试了 git archive git unpack-objects git pull 和其他一些没有欢乐的人。

我在这里缺少什么?这只是 很简单。

3 个答案:

答案 0 :(得分:1)

这个存储库有点奇怪,因为HEAD中没有文件。你必须签出两个真正的分支之一:

 git checkout android-3.0

 git checkout android-2.6.39

答案 1 :(得分:0)

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

如果您克隆了存储库并且除了.git文件夹之外什么都没有,请尝试创建一个分支来检查代码:

git checkout -b master origin/master

common目录中执行此操作。

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

答案 2 :(得分: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