【多仓库管理-Repo】

2019-08-20  本文已影响0人  24c41111e47b

使用 google repo 工具一键管理所有仓库,创建/切换分支,删除分支,提交代码


安装

创建目录,修改环境变量
$ mkdir ~/bin
$ PATH=~/bin:$PATH

将 export PATH="$PATH:~/bin" 添加到 ~/.bash_profile 文件中

注意,如果使用的是zsh shell
需要将 ~/bin 替换成 $HOME/bin 添加到 ~/.zshrc 文件中, 然后执行 source ./zshrc 生效

export PATH="$PATH:$HOME/bin"

下载安装repo
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

验证安装成功
$ repo help

使用

Repo 使用 manifest.xml 配置清单管理仓库信息,在当前目录安装repo,会自动在当前目录创建一个 .repo/ 目录,修改 manifest.xml 文件 , 配置工程仓库信息

Init
$ repo init -u https://xxxx/xxx

https://xxxx/xxx 可以是一个远程库或者站点,其根目录必须存在一个default.xml文件

配置default文件

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote  name="origin"
       fetch="git@github.com:tomHub/"
       review="" />
<default revision="master"
       remote="origin"
       sync-j="1" />

<project path="./dev_pods/HIIMKit" name="HIIMKit" groups="" />
<project path="./dev_pods/HIUIKit" name="HIUIKit" groups="" />

</manifest>

拉取仓库
$ repo sync

踩坑

1.报 duplicate 错误, 注意path路径是 ./dev_pods/HIIMKit , 不是 ./dev_pods/
2.fetch 地址 只能使用 ssh 和 https,git@有bug不能用
3.如果有多个仓库远端地址,需要实现多个remote,如下:删除default默认origin,进行手动配置

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

    <remote  name="origin"
       fetch="https://xx.xx.cn/tpc/client/ios/publibrary/"
       review="" />
    <remote  name="origin1"
            fetch="https://xx.xx.com/tpc/client/ios/taobao/"
        review="" />
    <default revision="master"
                       sync-j="1" />


    <project path="./dev_pods/IFImageViewer" name="IFImageViewer" remote="origin"/>
    <project path="./dev_pods/IFAccompany" name="IFAccompany" remote="origin"/>
    <project path="./dev_pods/IFBaseModel" name="IFBaseModel" remote="origin1"/>


</manifest>

【参考资料】
官方文档
操作实践1
操作实践2

上一篇下一篇

猜你喜欢

热点阅读