# manifestForRepo **Repository Path**: OpenCodeShare/manifestForRepo ## Basic Information - **Project Name**: manifestForRepo - **Description**: manifestForRepo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-17 - **Last Updated**: 2023-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Repo Example 提前声明:本文参考 https://gitee.com/repo-example/manifest 而得,如有侵权,请联系。 这是一个使用 [repo](https://gitee.com/oschina/repo) 工具结合 Gitee 开发多仓项目的示例 ## 数据准备 1. [创建一个组织](https://gitee.com/organizations/new),建议以项目名作为组织名 2. 将项目下的仓库全部上传到此组织下 3. 配置 manifest - 在组织下,[新建一个仓库](https://gitee.com/projects/new),名为 manifestForRepo - 新建一个 `default.xml` 文件。[文件定义指南](https://gitee.com/oschina/repo/blob/fork_flow/docs/manifest-format.md) ``` xml ``` ## repo 工具安装 ### 方式一:通过仓库安装 ```bash # 下载 repo 引导脚本 mkdir -p ~/.bin git clone https://gitee.com/OpenCodeShare/git-repo.git ~/git-repo cp ~/git-repo/repo ~/.bin/repo # 赋予脚本可执行权限 chmod a+rx ~/.bin/repo #设置环境变量 # 1.在当前终端临时生效 PATH="${HOME}/.bin:${PATH}" # 2.在当前用户下永久生效 vim ~/.bashrc export PATH="${HOME}/.bin:${PATH}" # 安装 repo 依赖 # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests # 如果不想执行这步,直接编辑 /usr/local/bin/repo 文件,将第一行的 python 改成 python3 即可 ln -s /usr/bin/python3 /usr/bin/python # 验证脚本执行正常 repo help ``` ### 方式二:通过apt源安装 ``` bash sudo apt install repo # 修改repo为国内gitee源 https://gitee.com/OpenCodeShare/git-repo # 默认是国外源 https://gerrit.googlesource.com/git-repo sudo vim $(which repo) 找到国外源位置,进行替换 # 验证脚本执行正常 repo help ``` ## 初始化项目 ``` bash mkdir ~/mycode && cd ~/mycode #方法1:不需要配置秘钥 repo init -u https://gitee.com/OpenCodeShare/manifestForRepo.git -b master -m default.xml --no-clone-bundle --no-repo-verify #方法2:需要配置秘钥 repo init -u git@gitee.com:OpenCodeShare/manifestForRepo.git -b master -m default.xml --no-clone-bundle --no-repo-verify repo sync --no-clone-bundle -j8 ``` ## repo 配置 ``` bash cd ~/repo-example # 配置个人令牌,用于调用 Gitee 接口,令牌获取地址:https://gitee.com/personal_access_tokens repo config --global repo.token {xxxxxxxxxxx} # 是否推送自动创建 PR,类似 gerrit review repo config repo.pullrequest {True/False} ``` ## repo 的简单日常开发使用案例 ``` bash cd ~/mycode repo start master --all # 统一切换到master分支 # 编码 修改自己的代码,下面会简单介绍使用repo统一提交代码! 一般是在自己工作仓库下单个修改,使用git对自己负责的单个仓库进行维护。 # 提交 cd ~/mycode repo forall -c "git add -A && git commit -m 'finish'" # 推送到自己 fork 的仓库下,并自动向主仓创建 PR # 如果没有事前 Fork,此操作会自动调用 Gitee api 接口将主仓 Fork 到自己的空间下,但不会自动创建 PR repo push -p ``` ## repo 进阶 repo 提供了丰富的命令和参数,它的运用远远不仅上述如此简单。探索 repo help,进行更深入的使用吧!