【问题标题】:Easiest way to add multiple Git submodules at once?一次添加多个 Git 子模块的最简单方法是什么?
【发布时间】:2018-07-04 20:18:34
【问题描述】:

我有一组 Git 子模块要包含在多个项目中。我使用 TortoiseGit 并且将它们一个一个添加到每个新项目中并不方便。

例如,在 TortoiseSVN 中,可以简单地将svn:externals 导出到一个文件中,然后将该文件应用到一个新项目中。我正在寻找类似的东西(如果可能,我宁愿避免编写脚本)。

在这种情况下我最好的选择是什么?

【问题讨论】:

标签: git git-submodules tortoisegit


【解决方案1】:

基本上,TortoiseGit 添加子模块对话框只是 git submodule add 的 GUI 前端,它基本上只是工作树根目录中文件 .gitmodules 的包装器。

即,您可以考虑自动调用git submodule add 或仅手动编写.gitmodules(或从另一个存储库复制它),然后需要注册子模块(这不能使用TortoiseGit ATM 完成):

git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
    while read path_key path
    do
        url_key=$(echo $path_key | sed 's/\.path/.url/')
        url=$(git config -f .gitmodules --get "$url_key")
        git submodule add $url $path
done

基于:https://gist.github.com/aroemen/5027030

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 2010-11-05
    • 2016-03-20
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多