repo的小結

repo只是google用Python腳本寫的調用git的一個腳本,主要是用來下載、管理Android項目的軟件倉庫。

1. 下載 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo 來下載 repo , chmod a+x ~/bin/repo


2. 用repo sync 抓取 android source code 的時候,會經常出現一些錯誤導致 repo sync 中斷,每次都要手動開始。

可以在一個腳本里寫如下的命令,來自動取重複:

repo sync
while [ $? -ne 0 ] 
do 
    repo sync
done


repo sync [project] 下載最新本地工作文件,同步 repository 中的代碼。 可以指定需要更新的project , 如果不指定任何參數,會同步整個所有的項目

如果是第一次運行 repo sync , 則這個命令相當於 git clone 會把 repository 中的所有內容都拷貝到本地

如果不是第一次運行 repo sync , 則相當於 更新 和 自動合併 動作;

repo sync 會更新 .repo 下面的文件。 如果在merge 的過程中出現衝突, 這需要手動運行 git rebase --continue


3. repo help [ command ] , 顯示command 的詳細的幫助信息內容

如:可以用命令: repo help init 來獲取 repo init 的其他用法


4. repo init -u URL , 在當前目錄安裝 repository ,會在當前目錄創建一個目錄 ".repo" , -u 參數指定一個URL, 從這個URL 中取得repository 的 manifest 文件。

repo init -u git://android.git.kernel.org/platform/manifest.git ,可以用 -m 參數來選擇 repository 中的某一個特定的 manifest 文件,如果不具體指定,那麼表示爲默認的 manifest 文件 (default.xml)

repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml , 可以用 -b 參數來指定某個manifest 分支。

repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0



5. repo upload[ project-list ] 上傳修改的代碼 ,如果你本地的代碼有所修改,那麼在運行 repo sync 的時候,會提示你上傳修改的代碼,所有修改的代碼分支會上傳到 Gerrit (基於web 的代碼review 系統), Gerrit 受到上傳的代碼,會轉換爲一個個變更,從而可以讓人們來review 修改的代碼。 


6. repo diff [ project-list ] 顯示提交的代碼和當前工作目錄代碼之間的差異。


7. repo forall -c command,對所有項目執行一個command命令,這個命令 相當 好用;


8. repo start newbranchname 創建新的branch分支。 "." 代表當前工作的branch 分支。 


9. repo prune [project list] 刪除已經merge 的 project 


10. repo status 顯示 project 的狀態

發佈了71 篇原創文章 · 獲贊 30 · 訪問量 60萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章