repo&git&gerrit聯繫和使用

http://www.cnblogs.com/angeldevil/archive/2013/11/26/3238470.html
http://blog.csdn.net/stevenhu_223/article/details/8828130
在Linux平臺下進行Android系統項目開發時,需要Git或repo管理。
Git和Repo的區別:
1. Git:Git是一個開源的分佈式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。
2. Repo: Repo是谷歌用Python腳本寫的調用git的一個腳本。主要是用來下載、管理Android項目的軟件倉庫(也就是說Repo是用來管理給Git管理的一個個倉庫的)

gerrit

gerrit簡介:
1》基於web的代碼評審和項目管理的工具,面向基於git版本控制系統;
2》爲git引入強制性的代碼審覈機制,非特別的授權設置,向 Git 版本庫的推送(Push)必須要經過 Gerrit服務器,經過審覈流程後,才能正式納入代碼庫;
3》每一次提交將對應一個評審任務;
4》通過特殊的分支提交評審任務(refs/for/… );
5》gerrit提供的git服務的端口並非標準的22端口,缺省是29418端口;
6》gerrit缺省的http端口是8080

repo管理

Repo實現管理多個git庫,一般是多個項目共用一個主分支,而針對項目共用主分支的代碼都可以在overlay目錄裏開發、維護(overlay目錄所在遠程分支爲對應項目的分支,而不是當前共用的主分支);然後提交到對應的項目代碼分支;
1.repo相關腳本下載操作,相關匹配完成後:
a。下載repo管理的項目代碼:repo init -u gitserver:manifests.git -m xxx.xml(xxx.xml文件決定初始化的項目);
b。repo sync;
c。創建xxx項目對應的分支:repo start xxx –all; (–all意爲將所有模塊都歸爲當前xxx分支下)。
2.查看當前項目代碼所在的分支:repo branch
3.查看當前項目相應目錄代碼所在的分支情況(可能共用主分支或者在自己的分支),如查看framework/base下的代碼所在分支情況:執行 cd framework/base 進入base目錄–>執行git branch -a查看;如查看package/apps/Music系統應用模塊所在的分支情況: 執行cd package/apps/Music—>執行git branch -a;
4.刪除不用的本地分支:“repo abandon 分支名” (同“git branch -d 分支名”)。
5.自動查找項目所在的分支(在沒執行repo start xxx –all的情況下),然後進行切換:repo forall -c git checkout -b xxx 項目對應的遠程分支名(最好是本地分支和遠程分支同名,除主分支外)
6.Repo實現切換分支:執行cd .repo/manifests—>執行ls查看項目對應的xxx.xml文件—>執行cd -回到主目錄—>執行repo sync同步更新代碼—>執行”repo start xxx(本地分支名) –all“創建相應的本地分支(或者執行”repo -c -p git checkout 本地分支 遠程分支”指令);

git分支

http://www.open-open.com/lib/view/open1328069889514.html

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