使用git擷取Android源碼的時候一般需要使用repo指令碼,但是使用repo指令碼得到的源碼並不帶kernel核心的,所以如果需要下載kernel核心還必須使用git手動下載。。。
使用git的clone命令,把核心下載下來,到kernel檔案夾
git clone git://android.git.kernel.org/kernel/common.git kernel
下載完之後,進入kernel檔案夾,然後可以查看所有的分支,以及當前源碼版本分支
在這裡需要提一下的就是,git有本地的分支跟遠程伺服器分支兩個概念,當clone整個common.git的時候,本地只有android-2.6.36這個分支的,
使用下面命令可以查看目前的目錄的本地分支
git branch
在哥電腦上面,已經下載了32和35的原始碼,所以分支有三個,前面帶星號是目前的版本的分支
bing@bing-laptop:~/android/kernel$ git branch
android-2.6.32
android-2.6.35
* android-2.6.36
然後加入-r參數可以查看遠程伺服器的分支bing@bing-laptop:~/android/kernel$ git branch -r origin/HEAD -> origin/android-2.6.36 origin/android-2.6.35 origin/android-2.6.36 origin/android-2.6.37 origin/android-2.6.38 origin/android-2.6.39 origin/archive/android-2.6.25 origin/archive/android-2.6.27 origin/archive/android-2.6.29 origin/archive/android-2.6.32 origin/archive/android-gldfish-2.6.29 origin/archive/android-goldfish-2.6.27 origin/linux-bcm43xx-2.6.39 origin/linux-wl12xx-2.6.39
使用-a參數則顯示本地和遠程伺服器的分支,並且遠程伺服器分支會加首碼"remotes/"
bing@bing-laptop:~/android/kernel$ git branch -a
android-2.6.32
android-2.6.35
* android-2.6.36
remotes/origin/HEAD -> origin/android-2.6.36
remotes/origin/android-2.6.35
remotes/origin/android-2.6.36
remotes/origin/android-2.6.37
remotes/origin/android-2.6.38
remotes/origin/android-2.6.39
remotes/origin/archive/android-2.6.25
remotes/origin/archive/android-2.6.27
remotes/origin/archive/android-2.6.29
remotes/origin/archive/android-2.6.32
remotes/origin/archive/android-gldfish-2.6.29
remotes/origin/archive/android-goldfish-2.6.27
remotes/origin/linux-bcm43xx-2.6.39
remotes/origin/linux-wl12xx-2.6.39
git checkout -b "A" 表示建立一個名為“A”的本地分支,並且切換到該分支上把指定的遠程分支切換到你建立的一個本地分支的,命令格式如下:git checkout -b "本地分支名" "你所需要下載的分支"例如我要下載2.6.38的核心到我建立的本地分支為:git checkout -b android-2.6.38 origin/android-2.6.38則我原生分支結構為:bing@bing-laptop:~/android/kernel$ git branch android-2.6.32 android-2.6.35 android-2.6.36* android-2.6.38如果需要在本地分支之間切換,則使用git branch "分支名"對於不需要的分支可以使用branch命令刪除git branch -d remotes/origin/android-2.6.39呵呵,由於只是使用checkout的下載功能,沒有上傳,所以就比較簡單,基本就那幾個分支的下載跟管理。