设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 安全 > 正文

Git Submodule使用完整教程(小结)(9)

发布时间:2020-08-21 01:42 所属栏目:53 来源:网络整理
导读:henryyan@hy-hp ~/submd/ws/project2 git:(master) cd libs/lib1 henryyan@hy-hp ~/submd/ws/project2/libs/lib1 git:(master) echo "lib1 readme contents" README henryyan@hy-hp ~/submd/ws/project2/libs/lib1

➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) cd libs/lib1 ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib1 git:(master) echo "lib1 readme contents" > README ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib1 git:(master) ✗ git add README ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib1 git:(master) ✗ git commit -m "add file README" [master 8c666d8] add file README 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 README ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib1 git:(master) git push Counting objects: 4, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 310 bytes, done. Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /home/henryyan/submd/repos/lib1.git 36ad12d..8c666d8 master -> master

前面提到过现在仅仅只完成了一部分,我们需要在project2中再更新lib1的commit id:

➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: libs/lib1 (new commits) # no changes added to commit (use "git add" and/or "git commit -a") ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git add libs/lib1 ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git commit -m "update lib1 to lastest commit id" [master ce1f3ba] update lib1 to lastest commit id 1 files changed, 1 insertions(+), 1 deletions(-) </file></file>

我们暂时不push到仓库,等待和lib2的修改一起push。

2.6.2 在lib2中的lib2-features文件添加文字

➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) cd libs/lib2 ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) echo "学习Git submodule的修改并同步功能" >> lib2-features ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) ✗ git add lib2-features ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) ✗ git commit -m "添加文字:学习Git submodule的修改并同步功能" [master e372b21] 添加文字:学习Git submodule的修改并同步功能 1 files changed, 1 insertions(+), 0 deletions(-) ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) git push Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 376 bytes, done. Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /home/henryyan/submd/repos/lib2.git 7290dce..e372b21 master -> master ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) echo "学习Git submodule的修改并同步功能" >> lib2-features ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) ✗ git add lib2-features ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) ✗ git commit -m "添加文字:学习Git submodule的修改并同步功能" [master e372b21] 添加文字:学习Git submodule的修改并同步功能 1 files changed, 1 insertions(+), 0 deletions(-) ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) git push Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 376 bytes, done. Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /home/henryyan/submd/repos/lib2.git 7290dce..e372b21 master -> master ➜ henryyan@hy-hp ~/submd/ws/project2/libs/lib2 git:(master) cd - ~/submd/ws/project2 ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: libs/lib2 (new commits) # no changes added to commit (use "git add" and/or "git commit -a") ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git add libs/lib2 ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) ✗ git commit -m "update lib2 to lastest commit id" [master df344c5] update lib2 to lastest commit id 1 files changed, 1 insertions(+), 1 deletions(-) ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) git status # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # nothing to commit (working directory clean) ➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) git push Counting objects: 8, done. Delta compression using up to 2 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 776 bytes, done. Total 6 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (6/6), done. To /home/henryyan/submd/ws/../repos/project2.git 8dc697f..df344c5 master -> master </file></file>

2.7 同步project2的lib1和lib2的修改到project1

现在project2已经享受到了最新的代码带来的快乐,那么既然project1和project2属于同一个风格,或者调用同一个功能,要让这两个(可能几十个)项目保持一致。

➜ henryyan@hy-hp ~/submd/ws/project2 git:(master) cd ../project1 ➜ henryyan@hy-hp ~/submd/ws/project1 git:(master) git pull Already up-to-date.

看看上面的结果对吗?为什么lib1和lib2更新了但是没有显示new commits呢?说到这里我记得刚刚开始学习的时候真得要晕死了,Git跟我玩捉迷藏游戏,为什么我明明提交了但是从project1更新不到任何改动呢?

帮大家分析一下问题,不过在分析之前先看看当前(project1和project2)的submodule状态:

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读