当前位置:   article > 正文

Git submodule 子模块的管理和使用_git submodule add -f

git submodule add -f

子模块的管理和使用

1.添加子模块

 git submodule add -f http://xxx/breeze/icons ./breeze/icons
  • 1

http://xxx/breeze/icons 克隆到 ./breeze/icons 目录下

2.查看子模块

 git submodule
  • 1

3.初始化子模块

 git submodule init
  • 1

4.更新子模块

 git submodule update
  • 1

5.删除子模块(四个步骤)

  1. 删除子模块文件夹
 rm -rf ./breeze/icons
  • 1
  1. 删除.gitmodules文件中相关子模块信息
 [submodule "breeze/icons"]
    path = breeze/icons
    url = http://xxx/breeze/icons
  • 1
  • 2
  • 3
  1. 删除.git/config中的相关子模块信息
 [submodule "breeze/icons"]
        url = http://xxx/breeze/icons
        active = true
  • 1
  • 2
  • 3
  1. 删除.git/modules文件夹下的相关子模块
 rm -rf .git/modules/breeze/icons
  • 1
  1. 报错情况:

第一种:git submodule 报(fatal: 在 .gitmodules 中没有发现路径 ‘xxx’ 的子模组映射);

第二种:git submodule init 报(fatal: 在 .gitmodules 中未找到子模组 ‘xxx’ 的 url);

第三种:修改了.gitmodules文件之后执行了 git submodule sync,但是执行 git submodule init 还是报第二种错误,那是因为还有存在缓存。如果执行完sync命令之后又执行了 git rm --cached ‘xxx’(这里是子模块路径,末尾不用加/),但是init的时候还是报第二种错误。

总结:解决删除子模块报错:需要将.gitmodules文件提交到仓库之后再重新执行 git rm --cached ‘xxx’ 命令清理缓存


6.清理子模块缓存,即删除对应子模块文件夹的索引

 git rm --cached 'xxx'(这里是子模块路径,末尾不用加/)
  • 1

7. 修改.gitmodules中子模块url,需要同步子模块url

如果修改.gitmodules中子模块url,需要同步子模块url,同步之后就可以看到.git/config中子模块的url也更改了

 git submodule sync
  • 1

8.遍历所有子模块切换分支

 git submodule foreach git checkout master
  • 1

9.遍历所有子模块拉取最新代码

 git submodule foreach git pull
  • 1

10.“脏的”子模块。子模块.diff文件有的时候出现-dirty的情况,放弃更改.diff文件也没有效果

  • 有的时候是因为该子模块下还有未提交的代码,要是实在看不惯,可以在.gitmodules文件下对应的子模块后加上 ignore = dirty
 [submodule "breeze/icons"]
        path = breeze/icons
        url = http://xxx/breeze/icons
        ignore = dirty
  • 1
  • 2
  • 3
  • 4

ignore = untracked只忽略未跟踪的文件,ignore = dirty也忽略修改的文件,ignore = all也忽略提交。

  • Git 1.7.2以上版本,可以使用命令 git status --ignore-submodules=dirty 忽略“脏的”子模块

  • 也可以将以下配置选项添加到本地git配置中来忽略它:

 [diff]
      ignoreSubmodules = dirty
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/530057
推荐阅读
相关标签
  

闽ICP备14008679号