首页 > 其他分享 >手把手教你把 Git 子模块更新到主项目

手把手教你把 Git 子模块更新到主项目

时间:2023-01-05 17:55:25浏览次数:61  
标签:code Git protocol OneMore 手把手 git master 模块 skywalking

本文以 skywalking-rocketbot-ui子模块合并到 skywalking 为例,手把手教你如何把 Git 子模块更新到主项目中去。

首先,把fork的skywalking项目克隆到本地:

OneMore MINGW64 /d/code
$ git clone https://github.com/heihaozi/skywalking.git skywalking
Cloning into 'skywalking'...
remote: Enumerating objects: 241687, done.
remote: Counting objects: 100% (373/373), done.
remote: Compressing objects: 100% (201/201), done.
remote: Total 241687 (delta 64), reused 240 (delta 21), pack-reused 241314
Receiving objects: 100% (241687/241687), 156.98 MiB | 3.83 MiB/s, done.
Resolving deltas: 100% (93272/93272), done.
Updating files: 100% (5928/5928), done.

进入skywalking目录,设置用户名和邮箱:

OneMore MINGW64  /d/code
$ cd skywalking/

OneMore MINGW64  /d/code/skywalking (master)
$ git config user.name CharliePu

OneMore MINGW64  /d/code/skywalking (master)
$ git config user.email [email protected]

指定将与复刻同步的远程上游仓库:

OneMore MINGW64  /d/code/skywalking (master)
$ git remote add upstream https://github.com/apache/skywalking.git

查看一下远程上游仓库是否生效:

OneMore MINGW64  /d/code/skywalking (master)
$ git remote -v
origin  https://github.com/heihaozi/skywalking.git (fetch)
origin  https://github.com/heihaozi/skywalking.git (push)
upstream        https://github.com/apache/skywalking.git (fetch)
upstream        https://github.com/apache/skywalking.git (push)

没有问题,初始化本地子模块:

OneMore MINGW64  /d/code/skywalking (master)
$ git submodule init
Submodule 'apm-protocol/apm-network/src/main/proto' (https://github.com/apache/skywalking-data-collect-protocol.git) registered for path 'apm-protocol/apm-network/src/main/proto'
Submodule 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol' (https://github.com/apache/skywalking-query-protocol.git) registered for path 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol'
Submodule 'skywalking-ui' (https://github.com/apache/skywalking-rocketbot-ui.git) registered for path 'skywalking-ui'
Submodule 'test/e2e/e2e-protocol/src/main/proto' (https://github.com/apache/skywalking-data-collect-protocol.git) registered for path 'test/e2e/e2e-protocol/src/main/proto'

从子模块的远端更新修改:

OneMore MINGW64  /d/code/skywalking (master)
$ git submodule update
Cloning into 'D:/code/skywalking/apm-protocol/apm-network/src/main/proto'...
Cloning into 'D:/code/skywalking/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol'...
Cloning into 'D:/code/skywalking/skywalking-ui'...
Cloning into 'D:/code/skywalking/test/e2e/e2e-protocol/src/main/proto'...
Submodule path 'apm-protocol/apm-network/src/main/proto': checked out 'e626ee04850703c220f64b642d2893fa65572943'
Submodule path 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol': checked out '47202fc1eaa1864c587a78f423a0685ffbe294ad'
Submodule path 'skywalking-ui': checked out '9e56d6cbbaff4678751f5355b953db3bbfd99c9b'
Submodule path 'test/e2e/e2e-protocol/src/main/proto': checked out 'e626ee04850703c220f64b642d2893fa65572943'

从子模块的远端拉取上游的修改:

OneMore MINGW64  /d/code/skywalking (master)
$ git submodule update --remote
Submodule path 'skywalking-ui': checked out '774b69dd84e305be975e4c5ffc0d433aa8cbda32'

检查当前文件状态:

OneMore MINGW64  /d/code/skywalking (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   skywalking-ui (new commits)

no changes added to commit (use "git add" and/or "git commit -a")

发现skywalking-ui已经有更新了,可以直接将其提交到远端,也可以修改其他文件一起提交。

这里先修改一下CHANGES.md文件,然后一起提交:

OneMore MINGW64  /d/code/skywalking (master)
$ git add skywalking-ui

OneMore MINGW64  /d/code/skywalking (master)
$ git add CHANGES.md

OneMore MINGW64  /d/code/skywalking (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   CHANGES.md
        modified:   skywalking-ui


OneMore MINGW64  /d/code/skywalking (master)
$ git push origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 409 bytes | 409.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/heihaozi/skywalking.git
   50688c187..e4a61f183  master -> master

至此,大功告成,可以向社区提交PR了。

标签:code,Git,protocol,OneMore,手把手,git,master,模块,skywalking
From: https://www.cnblogs.com/kn-zheng/p/17028460.html

相关文章

  • bs4 模块
    爬虫之bs4模块我们在编写一些业务时需要从html页面上获取到用户输入的内容。比如说文章内容。其实底层是在编写html代码,用户输入的时候看着是字其实是标签里包含输入的文......
  • Github应用最广泛的开源项目
    ​ Github自从2008年上线以来,发展迅速,目前已经成为最流行的代码托管站点。在Github中,开发者除了可以托管自己的项目源码外,还可以Watch(关注)、Star(加星)、Fork(复制一份)、Pull......
  • git 建立远程连接
    将本地仓库和远程仓库建立连接:[email protected]/codes/code.git修改远程仓库地址gitremote-v//查看修改前的仓库gitremoteset-urlorig......
  • zabbix添加二华设备光模块收发光功率
    在zabbix服务器中执行:snmpwalk-v2c-cro字符串设备ip1.3.6.1.4.1.25506.2.70.1.1.1.12 |more 将列出所有端口的收光功率,获得的数值需要除以100才是在设备上disp......
  • IM通讯协议专题学习(七):手把手教你如何在NodeJS中从零使用Protobuf
    1、前言Protobuf是Google开源的一种混合语言数据标准,已被各种互联网项目大量使用。Protobuf最大的特点是数据格式拥有极高的压缩比,这在移动互联时代是极具价值的(因为移动......
  • 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
    导读本文给大家分享一个用OpenCVDNN模块给黑白老照片上色的实例,并给出Python和C++版本源码。 背景介绍    这个项目是基于在加利福尼亚大学,伯克利,RichardZhang,Phil......
  • Centos7搭建Gitlab服务器
    GitLab介绍GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。官方网站:https://about.gitlab.com/安装配置需求:2.5GB的......
  • 在3568开发板上开发外设模块——竟如此简单!
    为满足客户的多元化需求,迅为在原有ov5695摄像头和5G通信模块的基础上,新增了以下选配模块。 针对这些模块,我们编写了9个实验做成了《itop-3568开发板驱动实验手册》,从实验原......
  • 转 Git配置SSH
    Git配置SSHhttp://t.csdn.cn/TT8QC林家小猪已于2022-05-2511:43:46修改26915收藏43分类专栏:软件安装文章标签:gitssh数据仓库版权华为云开发者联盟该内容已......
  • GitHub优秀移动开源项目大集合
    ​​GitHub上最火的40个Android开源项目(一)​​​​GitHub上最火的40个Android开源项目(二)​​​​GitHub上最火的74个Android开源项目(三)​​​​GitHub上最火的40个iOS开源项......