转载请注明:http://blog.csdn.net/yanxiangyfg
android代码团队开发中,为了团队合作我们需要建立代码仓库,以便进行团队间的协作. android最常用的代码管理工具是git, 那么团队间合作各自需要合入特性,这样就需要一个地方来存放代码,一般又三种方法:
1>在github上进行托管
2>建立本地代码库,团队所以代码都提交这个本地仓库
3>建立公司内部的代码管理服务器,一般公司都使用建立自己代码服务器的方式来进行代码托管
这里是对工作中碰到的问题的记录,所以对于建立git服务器和下载android源码这里就暂且不说,这里直接假设git服务器已经搭建好, android源码下载到你自己的pc机器上了.接下来的工作就是怎么在远端git服务器建立自己的仓库,然后把android代码上传到远端仓库.
建立公司的代码管理库:
第一步:
ssh -p 29418 user@server_ip gerrit create-project -nproject_name/platform_build
(远端建立platform_build仓库,之所以要用前缀" project_name/ "主要是为了多个项目的情况下好找到对于的仓库地址,建立之后远端库的分支名默认为 master)
第二步:
(进入本地源代码目录,这里对应android源码的build目录,然后执行上面命令,代码就上传到之前建立的远端库了)
第三步:
git clone ssh://user@server_ip:29418/project_name/platform_build
(在本地随便一个地方执行上述命令,测试是否可以下载刚才上传上去的代码,如果可以就成功的建立的一个git库了.恭喜!)
但是android源码的git仓库有好几百个,这样一个个建立姨妈都会失调, 是不是可以不在生理失调的情况下一次性建立这么多库呢,我只能说:那是必须的,请听我马上到来:
批量建立库的方法:
第一步:
首先把需要建立的库全部列在一个文件里面.这些库名字可以从源码下的.repo/manifest.xml中提取出来,然后建立一个project-list文件存放这个列表,内容如下:
project-list列表如下:
platform_build
dplatform/abi/cpp
platform_bionic
platform/bootable/bootloader/legacy
platform_bootable_diskinstaller
platform/bootable/recovery
platform/cts
platform_dalvik
............
第二步:
写一个脚本来批量建立远端仓库,然后批量上传android源码. 假设这个脚本交repo_creat_branch.sh. 其内容如下:
######################
##等循环建立玩各个仓库之后,用repo一键式上传所有代码,ok搞定. 这样完成之后你可以测试下是否成功的
##上传了所以代码,看如果下第三步:
第三步: repo init -u ssh://user@server_ip:29418/project_name/platform_manifest -b master
第四步: repo sync #这一步之后,如果代码全部下载下来,恭喜你,成功建立的自己的库.