バージョン管理されていないプロジェクトがいくつかあり、それらには多数のプラグインが含まれており、そのうちのいくつかは git クローンです。私は今、親プロジェクトを git リポジトリに変えたいと思っています。できればすべてのプラグインを調べて、どれが git リポジトリであるかを特定し、それらを親プロジェクトのサブモジュールに手動で変換する必要はありません (もちろん、これは望ましい結果です)。 .
これを行う簡単な方法はありますか?
短いシェル スクリプトでこれを行うことができます。
#!/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