submodule 更改
第一种情况:
在没有改变URL的情况下,只是更新submodule的引用commitID
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ ls -tlr
total 82
drwxr-xr-x 1 Banting 197121 0 Jun 22 16:22 tools/
-rw-r--r-- 1 Banting 197121 2099 Jun 22 16:22 CMakeLists.txt
-rw-r--r-- 1 Banting 197121 14456 Jun 22 16:22 Jenkinsfile
-rw-r--r-- 1 Banting 197121 3276 Jun 22 16:22 Makefile
-rw-r--r-- 1 Banting 197121 1684 Jun 22 16:22 README.md
drwxr-xr-x 1 Banting 197121 0 Jun 22 17:02 cloudai/
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:06 sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ cd sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod/sdk (dev/banting/x.5.x-sdk-object-detection)
$ git checkout x.5.x/sdk
Switched to branch 'x.5.x/sdk'
Your branch is up to date with 'origin/x.5.x/sdk'.
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod/sdk (x.5.x/sdk)
$ git pull
Updating fa9d4e4..e04a546
Fast-forward
model/magik_model_persondet.bin | Bin 996244 -> 0 bytes
model/magik_model_persondet.mk.h | 123541 ++++++++++++++++++------------------
model/model_params.ini | 20 +-
3 files changed, 61889 insertions(+), 61672 deletions(-)
delete mode 100644 model/magik_model_persondet.bin
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git submodule status
39d85aa03a2d300ca673f6ceae7d5c3115ea592f cloudai (v1.0.0_v2pan-6-g39d85aa)
+e04a546abb201d866fa76791afed3155bce38667 magik-cpu-sdk (xxx@1.0.0-65-ge04a546)
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git status
On branch dev/banting/x.5.x/cam_v2_prod
Your branch is up to date with 'origin/dev/banting/x.5.x/cam_v2_prod'.
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: magik-cpu-sdk (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git add sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git status
On branch dev/banting/x.5.x/cam_v2_prod
Your branch is up to date with 'origin/dev/banting/x.5.x/cam_v2_prod'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git commit -m "update new model sdk submodule reference from x.5.x/sdk branch"
[dev/banting/x.5.x/cam_v2_prod 67d015d] update new model sdk submodule reference from x.5.x/sdk
1 file changed, 1 insertion(+), 1 deletion(-)
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v2_prod (dev/banting/x.5.x/cam_v2_prod)
$ git push origin dev/banting/x.5.x/cam_v2_prod
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 301 bytes | 301.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:wyzelabs-inc/wyze-edgeai-integration.git
5220cc9..67d015d dev/banting/x.5.x/cam_v2_prod -> dev/banting/x.5.x/cam_v2_prod
第二种情况
需要改变submodule的URL
Step1: delete old submodule
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ ls -tlr
drwxr-xr-x 1 Banting 197121 0 Jun 22 16:22 tools/
-rw-r--r-- 1 Banting 197121 2099 Jun 22 16:22 CMakeLists.txt
-rw-r--r-- 1 Banting 197121 14456 Jun 22 16:22 Jenkinsfile
-rw-r--r-- 1 Banting 197121 3276 Jun 22 16:22 Makefile
-rw-r--r-- 1 Banting 197121 1684 Jun 22 16:22 README.md
drwxr-xr-x 1 Banting 197121 0 Jun 22 17:02 cloudai/
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:06 sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git rm -r --cached sdk/
rm 'sdk'
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ cd .git/modules/
ls
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod/.git/modules (GIT_DIR!)
$ ls -tlr
total 8
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:06 cloudai/
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:40 sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod/.git/modules (GIT_DIR!)
$ rm -rf sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod/.git/modules (GIT_DIR!)
$ ls -tlr
total 4
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:06 cloudai/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod/.git/modules (GIT_DIR!)
$ cd ../
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod/.git (GIT_DIR!)
$ cd ../
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ ls -tlr
drwxr-xr-x 1 Banting 197121 0 Jun 22 16:22 tools/
-rw-r--r-- 1 Banting 197121 2099 Jun 22 16:22 CMakeLists.txt
-rw-r--r-- 1 Banting 197121 14456 Jun 22 16:22 Jenkinsfile
-rw-r--r-- 1 Banting 197121 3276 Jun 22 16:22 Makefile
-rw-r--r-- 1 Banting 197121 1684 Jun 22 16:22 README.md
drwxr-xr-x 1 Banting 197121 0 Jun 22 17:02 cloudai/
drwxr-xr-x 1 Banting 197121 0 Aug 24 10:06 sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ rm -rf sdk/
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ vim .gitmodules
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ cat .gitmodules
[submodule "cloudai"]
path = cloudai
url = ../xxxCloudAISDK.git
branch = main
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[submodule]
active = .
[remote "origin"]
url = git@github.com:xxx/yyy-integration.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "cloudai"]
url = git@github.com:xxx/xxxCloudAISDK.git
[branch "dev/banting/x.5.x/cam_v3_prod"]
remote = origin
merge = refs/heads/dev/banting/x.5.x/cam_v3_prod
[submodule "sdk"]
url = git@github.com:xxx/sdk.git
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git status
On branch dev/banting/x.5.x/cam_v3_prod
Your branch is up to date with 'origin/dev/banting/x.5.x/cam_v3_prod'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: sdk
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: .gitmodules
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git add .gitmodules
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git status
On branch dev/banting/x.5.x/cam_v3_prod
Your branch is up to date with 'origin/dev/banting/x.5.x/cam_v3_prod'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: .gitmodules
deleted: sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git commit -m "remove sdk submodule"
[dev/banting/x.5.x/cam_v3_prod 467493c] remove sdk submodule
2 files changed, 5 deletions(-)
delete mode 160000 magik-cpu-sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git push origin dev/banting/x.5.x/cam_v3_prod
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), 301 bytes | 301.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 github.com:wyzelabs-inc/wyze-edgeai-integration.git
c83a9ee..467493c dev/banting/x.5.x/cam_v3_prod -> dev/banting/x.5.x/cam_v3_prod
Step2: add new submodule
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git branch
* dev/banting/x.5.x/cam_v3_prod
master
release/x.5.x/cam_v3_prod
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git submodule add -b x.5.x/sdk -f ../sdk.git sdk
Cloning into 'D:/Code/github/banting_x.5.x_cam_v3_prod/magik-cpu-sdk'...
remote: Enumerating objects: 1516, done.
remote: Counting objects: 100% (1516/1516), done.
remote: Compressing objects: 100% (770/770), done.
remote: Total 1516 (delta 752), reused 1400 (delta 703), pack-reused 0
Receiving objects: 100% (1516/1516), 62.93 MiB | 187.00 KiB/s, done.
Resolving deltas: 100% (752/752), done.
warning: LF will be replaced by CRLF in .gitmodules.
The file will have its original line endings in your working directory
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git status
On branch dev/banting/x.5.x/cam_v3_prod
Your branch is up to date with 'origin/dev/banting/x.5.x/cam_v3_prod'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: .gitmodules
new file: sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ cat .gitmodules
[submodule "cloudai"]
path = cloudai
url = ../xxxCloudAISDK.git
branch = main
[submodule "sdk"]
path = sdk
url = ../sdk.git
branch = x.5.x/sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[submodule]
active = .
[remote "origin"]
url = git@github.com:xxx/yyy-integration.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "cloudai"]
url = git@github.com:xxx/xxxCloudAISDK.git
[branch "release/x.5.x/cam_v3_prod"]
remote = origin
merge = refs/heads/release/x.5.x/cam_v3_prod
[branch "dev/banting/x.5.x/cam_v3_prod"]
remote = origin
merge = refs/heads/dev/banting/x.5.x/cam_v3_prod
[submodule "sdk"]
url = git@github.com:xxx/sdk.git
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git commit -m "add new submodule sdk"
[dev/banting/x.5.x/cam_v3_prod e43e5b6] add new submodule sdk
2 files changed, 5 insertions(+)
create mode 160000 sdk
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$ git push origin dev/banting/x.5.x/cam_v3_prod
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), 450 bytes | 450.00 KiB/s, done.
Total 3 (delta 1), reused 1 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:xxx/yyy-integration.git
467493c..e43e5b6 dev/banting/x.5.x/cam_v3_prod -> dev/banting/x.5.x/cam_v3_prod
Banting@DESKTOP-UDFLV4N MINGW64 /d/Code/github/banting_x.5.x_cam_v3_prod (dev/banting/x.5.x/cam_v3_prod)
$
注:
如果 ggit submodule add -b x.5.x/sdk -f …/-sdk.git sdk改成
git submodule add -b x.5.x/sdk -f git@github.com:xxx/sdk.git sdk
绝对路径就上传到github就check error,可能与.gitmodule文件URL字段格式形式要保持一致有关
Step3: update Main Project Submodule Reference(optional)
当第二步中submodule不是最新子模块最新commmit引用,可以参考第一种情况方式去更新submodule