2

我有几个未版本控制的项目,这些项目又包含大量插件,其中一些是 git 克隆。我现在想把父项目变成一个 git repo,最好不用遍历所有插件,确定哪些是 git repos,然后手动将它们转换为父项目的子模块(当然,这是期望的结果) .

是否有捷径可寻?

4

1 回答 1

4

你可以用一个简短的 shell 脚本来做到这一点:

#!/bin/sh

for d in plugins/*
do
    if [ -e "$d/.git" ]
    then
        # Unstage the gitlink, so we can then add it back as a submodule:
        git rm --cached "$d"
        # Guess that the URL for origin is a reasonable one to use:
        URL="$(cd "$d" && git config remote.origin.url)"
        # Add the git repository back as a submodule:
        git submodule add "$URL" "$d"
    fi
done
于 2012-10-13T09:08:45.050 回答