gpt4 book ai didi

git - 自动将所有子模块添加到仓库

转载 作者:太空狗 更新时间:2023-10-29 13:32:44 24 4
gpt4 key购买 nike

我有一个很大的目录~/.vim,在里面我有一个子目录,里面有很多其他的git repos。不过,我想为我的 ~/.vim 目录创建一个 git repo,但不想遍历我的每个其他 git 子目录。

有什么方法可以递归遍历并添加所有子模块吗?

最佳答案

假设 .vim 已经是一个有效的 git 仓库,并且您想将所有 git 仓库添加到您的主 git 仓库中,那么下面的 for 循环可能就是您想要的需要:

首先,cd您的 git 存储库的根目录。

可粘贴预览命令 - 仅回显,不会进行任何更改:

for x in $(find . -type d) ; do if [ -d "${x}/.git" ] ; then cd "${x}" ; origin="$(git config --get remote.origin.url)" ; cd - 1>/dev/null; echo git submodule add "${origin}" "${x}" ; fi ; done

用于添加子模块的可粘贴命令:

for x in $(find . -type d) ; do if [ -d "${x}/.git" ] ; then cd "${x}" ; origin="$(git config --get remote.origin.url)" ; cd - 1>/dev/null; git submodule add "${origin}" "${x}" ; fi ; done

此循环首先仅查找目录,查找 .git 目录,识别原始 URL,然后添加子模块。

可读版本:

for x in $(find . -type d) ; do
if [ -d "${x}/.git" ] ; then
cd "${x}"
origin="$(git config --get remote.origin.url)"
cd - 1>/dev/null
git submodule add "${origin}" "${x}"
fi
done

关于git - 自动将所有子模块添加到仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com