Git和repo掃盲_第1頁
Git和repo掃盲_第2頁
Git和repo掃盲_第3頁
Git和repo掃盲_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Git和repo掃盲Git是LinuxTorvalds為了幫助管理Linux內核開發而開發的一個開放源碼的分布式版本控制軟件,它不同于Subversion、CVS這樣的集中式版本控制系統。在集中式版本控制系統中只有一個倉庫(repository),許多個工作目錄(workingcopy),而像Git這樣的分布式版本控制系統中(其他主要的分布式版本控制系統還有BitKeeper、Mercurial、GNUArch、Bazaar、Darcs、SVK、Monotone等),每一個工作目錄都包含一個完整倉庫,它們可以支持離線工作,本地提交可以稍后提交到服務器上。分布式系統理論上也比集中式的單服務器系統

2、更健壯,單服務器系統一旦服務器出現問題整個系統就不能運行了,分布式系統通常不會因為一兩個節點而受到影響。因為Android是由kernel、Dalvik、Bionic、prebuilt、build等多個Git項目組成,所以Android項目編寫了一個名為Repo的Python的腳本來統一管理這些項目的倉庫,使得Git的使用更加簡單。這幾天William為了拿Android最新的sourcecode,學習了一下git和repo的一些基本操作,整理了一個如何取得Android代碼的How-To,今天把他貼上來。1、Git的安裝(步驟1)在Ubuntu8.04上安裝git只要設定了正確的更新源,然后

3、使用apt-get就可以了,有什么依賴問題,就讓它自己解決吧。其中cURL是一個利用URL語法在命令行下工作的文件傳輸工具,會在后面安裝Repo的時候用到。sudoapt-getinstallgit-corecurl2、安裝Repo(步聚2)首先確保在當前用戶的主目錄下創建一個/bin目錄(如果沒有的話),然后把它(/bin)加到PATH環境變量中接下來通過cURL來下載Repo腳本,保存到/bin/repo文件中curl/repo>/bin/repo別忘了給repo可執行權限chmoda+x/bin/repo3、初始化版本庫如果是

4、想把Android當前主線上最新版本的所有的sourcecode拿下來,我們需要repo的幫助。先建立一個目錄,比如/android,進去以后用repoinit命令即可。repoinit-ugit:/platform/manifest.git具體要多少時間就取決于網絡條件了,我只用了2、3分鐘的樣子。最后會看到repoinitializedin/android這樣的提示,就說明本地的版本庫已經初始化完畢,并且包含了當前最新的sourcecode。(步驟3)如果想拿某個branch而不是主線上的代碼,我們需要用-b參數制定branch名字,比如:rep

5、oinit-ugit:/platform/manifest.git-bcupcake在repoinit時帶上-b分支名稱比如要拿某個1.6分支的:repoinit-ugit:/platform/manifest.git-bandroid-1.6_r2reposync分支信息在后面另一種情況是,我們只需要某一個project的代碼,比如kernel/common,就不需要repo了,直接用Git即可。gitclonegit://kernel/common.git這也

6、需要不少的時間,因為它會把整個LinuxKernel的代碼復制下來。如果需要某個branch的代碼,用gitcheckout即可。比如我們剛剛拿了kernel/common.get的代碼,那就先進入到common目錄,然后用下面的命令:gitcheckoutorigin/android-goldfish-2.6.27-bgoldfish這樣我們就在本地建立了一個名為goldfish的android-goldfish-2.6.27分支,代碼則已經與android-goldgish-2.6.27同步。我們可以通過gitbranch來列出本地的所有分支。4、同步版本庫使用reposync命令,我們把

7、整個Android代碼樹做同步到本地,同樣,我們可以用類似reposyncproject1project2這樣的命令來同步某幾個項目我進入/android后使用命令reposync命令完成源碼的下載,這是時間最長的,建議在晚上下班之后下載。(步聚4)如果是同步Android中的單個項目,只要在項目目錄下執行簡單的gitpull即可。5、通過GitWeb下載代碼另外,如果只是需要主線上某個項目的代碼,也可以通過GitWeb下載,在shortlog利用關鍵字來搜索特定的版本,或者找幾個比較新的tag來下載還是很容易的。Git最初是為Linux內核開發而設計,所以對其他平臺的支持并不好,尤其是Win

8、dows平臺,必須要有Cygwin才可以。現在,得益于msysgit項目,我們已經可以不需要Cygwin而使用Git了。另外,GitExtensions是一個非常好用的WindowsShell擴展,它能與資源管理器緊密集成,甚至提供了VisualStudio插件。它的官方網站上有一分不錯的說明文檔,感興趣的朋友可以看一看。至于Git的參考文檔,我推薦GitMagic,這里還有一個GitMagic的中文版。platform/manifest.git12hoursandroid-cts-2.1r4Android2.1CTSrelease4tag|commit|agoshortlog|log2wee

9、ksagoandroid-cts-2.2_r2Android2.2CTSrelease2tag|commit|shortlog|log5weeksagoandroid-cts-2.2_r1Android2.2CTSrelease1tag|commit|shortlog|log7weeksagoandroid-2.2_".1Android2.2release1.1tag|commit|shortlog|log8weeksagoandroid-cts-2.1_r3Android2.1CTSrelease3tag|commit|shortlog|log8weeksagoandroid-2.

10、2_r1Android2.2release1tag|commit|shortlog|log2monthsagoandroid-cts-2.1r2Android2.1CTSrelease2tag|commit|shortlog|log3monthsagoandroid-2.1r2.1p2Android2.1release2.1p2tag|commit|shortlog|log4monthsagoandroid-2.1r2.1pAndroid2.1release2.1ptag|commit|shortlog|Jog_4monthsagoandroid-2.1_r2.1sAndroid2.1rele

11、ase2.1stag|commit|shortlog|log5monthsagoandroid-sdk-t001sr5AndroidSDKtoolsrelease5tag|commit|shortlog|log6monthsagoandroid-2.1_r2Android2.1release2tag|commit|shortlog|log6monthsagoandroid-sdk-2.1_r1Android2.1SDKrelease1tag|commit|shortlog|Jog_6monthsagoandroid-sdk-tools_r4AndroidSDKtoolsrelease4tag|

12、commit|shortlog|Jog_6monthsandroid-sdk-2.0.1-docsr1Android2.0.1SDKtag|commit|agodocumentation.shortlog|log6monthsagoandroid-sdk-2.0.1_r1Android2.0.1SDKrelease1tag|commit|shortlog|Jog.6monthsagoandroid-sdk-1.6_r2Android1.6SDKrelease2tag|commit|shortlog|Jog.6monthsagoandroid-sdk-2.0_r1_Android2.0SDKre

13、lease1tag.|commit|shortlog|Jog_6monthsagoandroid-sdk-tools_r3AndroidSDKtoolsrelease3tag.|commit|shortlog|Jog.6monthsandroid-1.6_r1.5Android1.6release1.5tag|commit|agoshortlog|log6monthsagoandroid-2.0.1_r1Android2.0.1release1tag|commit|shortlog|log6monthsagoandroid-2.0_r1Android2.0release1tag|commit|

14、shortlog|log6monthsagoandroid-2.1_r1Android2.1release1tag|commit|shortlog|log9monthsagoandroid-1.6_r2Android1.6release2tag|commit|shortlog|log10monthsagoandroid-1.6_r1.4Android1.6release1.4tag|commit|shortlog|Jog10monthsagoandroid-1.6r1.3Android1.6release1.3tag|8mmit|shortlog|log10monthsagoandroid-s

15、dk-tools_r2AndroidSDKtoolsrelease2tag|commit|shortlog|log10monthsago10monthsagoandroid-sdk-1.6-docs_r1android-1.6_r1.2Android1.6SDKdocumentationrelease1Android1.6release1.2tagtag|commit|shortlog|Jog_|commit|shortlog|jog_10monthsagoandroid-1.6r1.1Android1.6release1.1tag|commit|shortlog|jog_10monthsag

16、oandroid-1.5r4Android1.5refresh4tag|commit|shortlog|Jog_11monthsagoandroid-1.6_r1Android1.6release1tag|commit|shortlog|jog_11monthsagoandroid-sdk-1.6_r1Android1.6SDKrelease1tag|commit|shortlog|Jog_12monthsagoandroid-1.5r2Android1.5refresh2皿|commit|shortlog|jog12monthsagoandroid-1.5r3Android1.5refresh3tag|commit|shortlog|jog.13monthsagoandroid-sdk-1.5_r3Android1.5SDKrelease3皿|commit,|shortlog|Jog.15month

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論