使用git-repo管理多个git仓库

step 1: 下载repo

git-repo下载可在服务器端通过以下任一方式下载。

git clone https://gerrit.googlesource.com/git-repo (谷歌官方源)

git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo (国内清华源)

git clone git-repo - Git at Google (国内中科大源)

step 0:建立私人的git-repo工具工程:
方法一,在git server上直接操作
git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -b main
方法二,在本地操作,然后上传到git server:
# git clone --mirror  https://mirrors.tuna.tsinghua.edu.cn/git/git-repo  
git remote add gitrepo.git http://git.inspur.com/rk3588/gitrepo.git
git push -u gitrepo.git --all
git push -u gitrepo.git --tags   (可选)
#git config --global http.postBuffer 1048576000   //设置缓存为1G
# git config http.postBuffer 524288000  //查看 http.postBuffer数值是否设置成功

step 2 初始化工程和mainifest git仓库

step 1: 初始化 manifest git server端,用于规划整个项目的代码结构:
pakydu@ubuntu18-fttr:~/works/3588/mygit$ mkdir -p rk3588/manifest
pakydu@ubuntu18-fttr:~/works/3588/mygit$ cd rk3588/manifest/
pakydu@ubuntu18-fttr:~/works/3588/mygit/rk3588/manifest$ ls -al
pakydu@ubuntu18-fttr:~/works/3588/mygit/rk3588/manifest$ git init
Initialized empty Git repository in /home/pakydu/works/3588/mygit/rk3588/manifest/
pakydu@ubuntu18-fttr:~/works/3588/mygit/rk3588/manifest$

#创建工程魔板:
vi default.xml


  
  

  
  
  
  



#提交工程模版
    git add *
    git commit  -m "add default.xml"
     git remote rm origin  (删除旧的)
    git remote add origin http://git.inspur.com/rk3588/manifest.git
    git branch main
    git checkout main
    git push http://git.inspur.com/rk3588/manifest.git

step 3: 上传每个git的代码:

$ git init (已被git管控代码可省略)
$ git add . (已被git管控代码可省略)
$ git commit -m "Init Code" (已被git管控代码可省略)
$ git push http://git.inspur.com/rk3588/kernel.git master  (master or main)

$git init (已被git管控代码可省略)
$ git add . (已被git管控代码可省略)
$ git commit -m "Init Code" (已被git管控代码可省略)
$ git push http://git.inspur.com/rk3588/buildroot.git master
...

step 4: 在客户端上repo拉取服务器端代码

将REPO_URL = ‘https://gerrit.googlesource.com/git-repo’ 
修改为 REPO_URL = ‘http://git.inspur.com/rk3588/git-repo.git’
#git push http://git.inspur.com/rk3588/git-repo.git
#export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
#export REPO_URL='http://git.inspur.com/rk3588/git-repo.git'
repo init -u http://git.inspur.com/rk3588/manifest.git

Manifest示例

每个采用 repo 管理的复杂多仓库项目都需要一个对应的 manifest 仓库,如 AOSP 的 manifest ,此仓库用来存储所有子仓库的配置信息,repo 也是读取此仓库的配置文件来进行管理操作。里面的配置就是 xml 定义的结构,例如aosp default repository一般是default.xml。



  

  
  

  
    
    
    
    
    
    
  
  
    
    
    
  
  
  
  
  
    
    
  

  


#示例
pakydu@ubuntu18-fttr:~/works/3588/rk3588_org/.repo$ cat manifests/rk3588/rk3588_linux_bsp_release_20230114_v1.0.6c.xml


  
  
  
  
    
  
  
    
  
  
    
    
    
    
    
  
  
    
    
    
    
    
  
  
  
  
  

pakydu@ubuntu18-fttr:~/works/3588/rk3588_org/.repo$ cat manifest.xml


  
  
  
  
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

参考:

https://www.exyb.cn/news/show-159545.html?action=onClick

总结常用repo命令 - 知乎

搭建repo服务器管理多个git工程_repo管理多个git_songze_lee的博客-CSDN博客

你可能感兴趣的:(git,elasticsearch,大数据)