一些项目可能会用到多个git项目库(例如我负责的使用了14个git项目),如果每次更新代码都要去库里git pull,非常耗时费力,所以repo库管理就显得非常重要了。

Repo是用python实现的,脚本本质仍然是通过Git来管理代码的,下面具体说下repo服务端仓库的搭建方法:

1、安装和配置相关软件

      yum install python-setuptools  git

      easy_install pip

      pip install git-review

      git clone https://github.com/esrlabs/git-repo.git

      cp git-repo/repo /bin/    &&  PATH=~/bin:$PATH

 

2、创建 manifest 仓库

     在github/gitlab 上创建一个mainfest 仓库,默认分支为master,并且克隆到本地。

     

 

3、在mainfest库里增加xml 文件

      thinkcloud_sds.xml 内容大致如下,其中remote、default 对应repo库管理的路径和分支,project 可以有多个,每个对应一个git项目。

      <?xml version="1.0" encoding="UTF-8"?>
      <manifest>

        <remote  name="origin"
                 fetch="https://github.com/username" />

        <default revision="master"
                 remote="origin"/>

        <project name="wencai1" path="wencai1 />

        <project name="wencai2" path="wencai2" />

     </manifest>


4、拉取所有git项目代码

      创建新的目录并进入,运行如下命令

      repo init -u https://github.com/username/manifests.git -m thinkcloud_sds.xml

      repo  sync

     

 

附:一些repo 用法

repor sync [<project>]
repo start new_branch_name  [<project>…] || --all
repo branches
repo checkout branch_name
repo diff [<project>…]
repo stage -i [<project>…]  是对 git add -i 的封装
repo prune [<project>…]   删除已经合并的分支,是git branch -d 的封装
repo abandon <branchname> [<project>…] 是对git branch -D 的封装
repo status [<project>…] 是对git diff-index、git diff-filse命令的封装

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐