2012-01-31 65 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