Alexander Mikhailian erstellt script, um alle Submodule in Teilbäumen zu konvertieren, sollten Sie in der Lage sein, es an Ihren Fall anzupassen.
hier präsentieren die Schritte:
cat .gitmodules |while read i
do
if [[ $i == \[submodule* ]]; then
mpath=$(echo $i | cut -d\" -f2)
read i; read i;
murl=$(echo $i|cut -d\ -f3)
mcommit=`eval "git submodule status ${mpath} |cut -d\ -f2"`
mname=$(basename $mpath)
echo -e "$name\t$mpath\t$murl\t$mcommit"
git submodule deinit $mpath
git rm -r --cached $mpath
rm -rf $mpath
git remote add $mname $murl
git fetch $mname
git branch _$mname $mcommit
git read-tree --prefix=$mpath/ -u _$mname
fi
done
git rm .gitmodules
Ich denke, der einfachste Weg wäre für Sie das Skript auf dem prezto
Repo anzuwenden und dann die repo einen Teilbaum im dotfiles
Repository machen.
Nachdem das Skript im prezto
Repository ausführen werden Sie die steps folgenden verwenden, um die Baumansicht zu erstellen:
eine neue Remote-URL In den prezto
Repo in die dotfiles
zeigt.
git remote add -f prezto [email protected]:path/prezto.git
Merge das prezto
Projekt in das lokale dotfiles
Projekt. Dies ändert keine Ihrer Dateien lokal, aber es bereitet Git auf den nächsten Schritt vor.
git merge -s ours --no-commit prezto/master
Erstellen Sie ein neues Verzeichnis prezto-subdir
(oder was auch immer Sie mögen), und kopieren Sie die Git Geschichte des prezto
Projekt hinein genannt.
git read-tree --prefix=prezto-subdir/ -u prezto/master
die Änderungen Commit sie sicher zu halten.
git commit -m "Subtree merged in prezto"
Warum nicht jedes Modul als Unterbaum im dotfiles Repository pflegen? – dan
Ja das möchte ich machen. Ich möchte Submodule loswerden und nur ein Repository als Ganzes verwalten. – kissgyorgy