Linux
Linux software install
Google repo的使用
Vector AP StartApplication编译脚本解析
Yocto的cmake版本升级
不能自动安装的解决方式
S32G-BSP35.0-SDK使用方法
S32G从SDK生成文件系统的制作过程
Linux Samba设置
Linux添加双网卡
S32G USB-Redirector安装指南
VS code自动生成Doxygen格式注释
Linux下使用多线程下载
使用pandoc 生成带中文的pdf
minicom无法输入的问题解决办法
使用 systemd unit 添加一条路由规则
CMake 教程
步骤 1:基本起点
步骤 2:添加lib库
步骤 3:为库添加使用要求
步骤 4:添加生成器表达式
步骤 5:安装和测试
步骤 6:添加支持测试仪表板
步骤 7: 添加系统内省
步骤 8:自定义命令和生成的文
步骤 9:打包安装程序
步骤 10:选择静态库或共享库
步骤 11:添加导出配置
步骤 12:打包 Debug 和 Release
添加虚拟网卡
Vector AP 去掉防篡改校验
Vector AP startapplication编译与使用
Vector AP问题汇总
Vector AP大型项目开发流程
Vector AP EM
Vector AP 最简单的开发示例
Linux kernel 版本降级
Vector AP StartApplicaiton
startappplication-machine-design
startapplicaiton-machine-integration
amsr-vector-fs-em-executionmanager-design
amsr-vector-fs-em-executionmanager
Vector AP 复杂模型的开发
第一章 Machine和MachineDesign
第二章 Execute Manager
第三章 Log
第四章 State Manager
第五章 State Manager 源码的理解
第六章 Someip daemon
第七章 IPC Service Discovery Daemon
crond的使用方法
解决蓝牙鼠标在 Ubuntu 中单位时间内断开的问题
VPS服务器自建教程
v2rayA的客户端使用配置
GDB调试指南入门篇:揭开程序运行世界的神秘面纱
GDB调试指南高级篇:成为调试专家,掌控程序的命运
Linux安装PyQt5并配置Qt Designer
ADB 命令大全
GoogleTest(一)
GoogleTest(二)简单的TEST宏
GoogleTest(三)简单类函数测试
C++ Template
1. 函数模板
2. 类模板
3. 非类型模板参数
软件版本号规范
EPOLL
C++手札
C++ 使用{}初始化有哪些好处?
现代 C++ decltype 深入解析
函数对象(functor)
Linux性能剖析:CPU、内存、网络与I/O压力测试
AP StateManager
C++ Lambda表达式
C++ 中的Lambda表达式
Lambda 表达式语法
Lambda 表达式的示例
手动发送UDP数据包
pyqt5生成的UI界面不能输入中文
自己搭建repo镜像
摄影
Sony仿富士PP值设置
诗词歌赋
本文档使用 MrDoc 发布
-
+
首页
自己搭建repo镜像
## repo脚本 从google下载repo的python脚本,放到了我的NAS服务器上。文件目录地址:`/work/repo-mirror/repo`,这里需要用web-stateion配置个静态网页,摸索一下就能配成,配成后用浏览器是打不开的,只能用curl下载 回到本机 ```shell curl https://samlee820820.synology.me:10099/repo -o ~/bin/repo chmod 777 ~/bin/repo ``` ## 在NAS上创建repo元数据的仓库 先了解repo和repo元数据仓库 ### 关键点: 1. **`repo` 脚本和 `repo` 仓库是不同的**: - 你通过 `curl` 下载的文件 `repo` 是一个脚本,它用来帮助管理多个 Git 仓库(比如 Android 源代码)。它本身并不是一个 Git 仓库。 - 而你在 `repo init` 中指定的 `--repo-url` 是一个 Git 仓库地址,`repo` 工具会用它来获取相关的清单文件(manifest),这个清单文件定义了需要克隆哪些 Git 仓库。 2. **`repo init` 与 `repo` 脚本的工作方式**: - `repo init` 是 `repo` 工具的一部分,它从你指定的 Git 仓库(`repo` 的清单仓库)下载一个 `manifest` 文件。然后,`repo` 工具会根据 `manifest` 文件中的描述,克隆并初始化多个 Git 仓库,通常是 Android 项目中的多个仓库。 - 在你的情况下,`repo init` 使用了 `--repo-url` 参数,它指向了一个 **Git 仓库** (`ssh://sam@samlee820820.synology.me:22222/volume3/git-repo/repo-mirror.git`),而这个仓库包含了 `manifest.xml` 文件,指示了需要克隆哪些代码仓库。 ### 总结: - `curl` 下载的 `repo` 脚本只是一个工具,帮助你初始化 Git 仓库集合。 - `repo init` 用来从指定的 Git 仓库(你提供的 URL)中获取仓库清单(`manifest.xml`)。 - 通过指定 `--repo-url`,你实际上告诉 `repo` 工具在哪个 Git 仓库中查找清单文件,`repo init` 只是下载了该清单文件,并准备好克隆其它项目的仓库。 `repo init` 会通过你指定的 Git 仓库 URL 获取清单,并根据其中的内容决定需要克隆的其他仓库。 ## 下载repo元数据仓库 现在NAS上创建repo-mirror.git的仓库 ```shell sam@Nas:/volume3/git-repo$ mkdir repo-mirror.git sam@Nas:/volume3/git-repo$ cd repo-mirror.git sam@Nas:/volume3/git-repo/repo-mirror.git$ git init --bare hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> Initialized empty Git repository in /volume3/git-repo/repo-mirror.git/ sam@Nas:/volume3/git-repo/repo-mirror.git$ git symbolic-ref HEAD refs/heads/main ``` 从清华镜像上克隆repo元数据仓库,并推送到我自己的NAS上 ```shell sam@sam-pn64:/diskA/repo-test/tmp$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo sam@sam-pn64:/diskA/repo-test/tmp$ cd git-repo/ sam@sam-pn64:/diskA/repo-test/tmp/git-repo$ git remote set-url origin ssh://sam@samlee820820.synology.me:22222/volume3/git-repo/repo-mirror.git sam@sam-pn64:/diskA/repo-test/tmp/git-repo$ git push -u origin main sam@samlee820820.synology.me's password: 枚举对象中: 8719, 完成. 对象计数中: 100% (8719/8719), 完成. 使用 20 个线程进行压缩 压缩对象中: 100% (2476/2476), 完成. 写入对象中: 100% (8719/8719), 3.04 MiB | 5.69 MiB/s, 完成. 总共 8719(差异 6176),复用 8695(差异 6157),包复用 0 remote: Resolving deltas: 100% (6176/6176), done. To ssh://samlee820820.synology.me:22222/volume3/git-repo/repo-mirror.git * [new branch] main -> main 分支 'main' 设置为跟踪来自 'origin' 的远程分支 'main'。 ``` ## 用repo下载工程 到一步就可以拉取工程软件了 ```shell sam@sam-pn64:/diskA/repo-test/project_k1$ repo init -u ssh://127.0.0.1:/diskA/repos/manifest.git --no-repo-verify -m project_k1.xml None Downloading Repo source from ssh://sam@samlee820820.synology.me:22222/volume3/git-repo/repo-mirror.git sam@samlee820820.synology.me's password: remote: Enumerating objects: 8719, done. remote: Counting objects: 100% (8719/8719), done. remote: Compressing objects: 100% (2457/2457), done. remote: Total 8719 (delta 6176), reused 8719 (delta 6176), pack-reused 0 repo: warning: verification of repo code has been disabled; repo will not be able to verify the integrity of itself. Your identity is: lijia <jia2.li@kostal.com> If you want to change this, please re-run 'repo init' with --config-name repo has been initialized in /diskA/repo-test/project_k1 sam@sam-pn64:/diskA/repo-test/project_k1$ repo sync None Fetching: 100% (9/9), done in 1.437s Checking out: 55% (5/9), done in 0.029s Checking out: 33% (3/9), done in 0.012s Checking out: 11% (1/9), done in 0.006s repo sync has finished successfully. sam@sam-pn64:/diskA/repo-test/project_k1$ ``` ## 结果 
admin
2024年11月6日 17:06
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码