当前位置:   article > 正文

工具之Git | submodule 常用命令_git submodule init

git submodule init

submodule 常用命令

git submodule: 显示所有 submodule, 等同于git submodule status

  • 添加 submodule 到现有项目
  1. Run git submodule add -b <branch> --name <name> <repo-url> <local dir>
  2. Commit both files on the superproject
  • 从当前项目移除 submodule
  1. git submodule deinit -f <submodule_path>
  2. rm -rf .git/modules/<submodule_path>
  3. git rm -f <submodule_path>
  • 复制含 submodule 项目到本地
  1. Clone the superproject as usual
  2. Run git submodule init to init the submodules
  3. Run git submodule update to have the submodules on a detached HEAD

或者直接执行 git clone --recurse-submodules <repo-url>

  • git submodule init: 将本项目所依赖的 submodule 进行初始化

  • git submodule update: 将本项目所依赖的 submodule 更新到本地最新版本

  • git submodule update --init: 前面两个命令的合并

  • git submodule update --init --recursive: 前面三个命令的合集, --recursive 是为了保证即使 submodule 又嵌套了 sub-submodule, 也可以被执行到. 这个命令比较全面, 会经常使用

  • git submodule update: 更新 submodule 为 superproject 本次 commit 所记录的版本 (本地版本为旧版本的话那么就与旧版本保持同步!)

  • git submodule update --remote: 更新 submodule 为远程项目的最新版本 (更为常用!)

  • git submodule update --remote <submodule-name>: 更新指定的 submodule 为远程的最新版本

  • git push --recurse-submodules=

  • check: 检查 submodule 是否有提交未推送, 如果有, 则使本次提交失败

  • on-demand: 先推送 submodule 的更新, 然后推送主项目的更新(如果 submodule 推送失败, 那么推送任务直接终止)

  • while: 所有的 submodule 会被依次推送到远端, 但是 superproject 将不会被推送

  • no: 与 while 相反, 只推送 superproject, 不推送其他 submodule

  • git pull --recurse-submodules: 拉取所有子仓库 (fetch) 并 merge 到所跟踪的分支上

  • git diff --submodule: 查看 submodule 所有改变

  • git submodule foreach '<arbitrary-command-to-run>': 对所有 submodule 执行命令, 非常有用, 如 git submodule foreach 'git checkout main'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/407312
推荐阅读
相关标签
  

闽ICP备14008679号