Git-repo & gerrit笔记
对于repo来说,一个版本称为项目(REVISION来标识),git仓库称为project
参考资料:
https://m.yisu.com/zixun/109646.html git-repo
https://backlog.com/git-tutorial/cn/stepup/stepup2_8.html rebase (从分支树分叉开始全都调整过去: 在需要变基的提交上执行git rebase 新的基)
https://blog.csdn.net/FightFightFight/article/details/81039050 cherry-pick (只pick出单独一个提交的修改,父节点不pick)
https://gerrit-review.googlesource.com/Documentation/user-changeid.html changeId
https://segmentfault.com/a/1190000022970270 git hook(钩子)
清单库(manifest)
多个分支,每个分支可以多个清单文件
Repo init -u URL -b REVISION(repo的版本,体现在所有git的branch) -m XML(清单文件)
(不写-b就是HEAD分支,不写-m就是default清单文件)
1. 下载repo脚本完整版
2. clone清单库(manifests.git bare库)
3. clone清单库到本地(manifest目录),再简历.repo/manifest.xml的符号链接
(.repo/manifest.xml是当前选择的清单文件)
Xml中的一些定义
remote:
name就是 git中当时用到的origin,可以定义多个
fetch就是 remote 的url,git中用ssh或者http,'..'表示repo init -u 的url
default:
必须有一个默认清单,定义默认remote/revision (所有project(git库)的branch)
Repo sync
不存在则git clone
存在则fetch + rebase
Repo start (--all/[project])
在git-repo的REVISION(manifest清单定义的revision/manifest库的分支)上,建立新分支
Repo branches 查分支
Repo checkout 切分支
Repo abandon XXX 删除分支(git branch -D的封装)
Repo prune 扫描全部分支,删除已经合并的分支(git branch -d的封装)
(同git,当前分支unstated/staged状态下 不能随便建立和切换分支)
全局操作(工程太大运行非常慢,尽量用git指令)
Repo status
Repo diff
Repo stage => git add .
Repo forall -c =>运行shell命令
上传
Repo upload . 当前project
Repo upload 所有project上传
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!