使用 .gitmodules 文件从 git 包克隆子模块
Cloning submodule from a git bundle using the .gitmodules file
我已经捆绑了一个存储库并将 repo.bundle 文件存储在我的文件系统中。我需要从这个 bundle 克隆为另一个 repo 中的子模块,该 repo 当前有一个带有远程 url 的 .gitmodules 文件。为了从我系统本地存储的 git 包中克隆,我对我的 .git 模块文件进行了以下更改:
[submodule "myrepo_path/submodule_path"]
path = myrepo_path/submodule_path
url = file:///home/myuser/MY-BUNDLES/repo.bundle
fetch = +refs/heads/*:refs/remotes/origin/*
ignore = all
然而,当我执行 git 子模块初始化时,克隆失败并出现以下错误:
$ git submodule update --init
Cloning into '/home/myuser/Desktop/Repos/myrepo_path/submodule_path'...
fatal: too large to be a .git file: '/home/myuser/MY-BUNDLES/repo.bundle'
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
压缩包是一个1.9G的文件。我想知道是否可以以上述方式初始化我的子模块?或者对我来说唯一的选择是使用 git clone
命令
从 git 包中显式克隆
我可以通过更改 .gitmodules 文件中的 url 使其工作。而不是
url = file:///home/myuser/MY-BUNDLES/repo.bundle
使用以下(删除 file
):
url = /home/myuser/MY-BUNDLES/repo.bundle
现在使用 git submodule update --init
克隆子模块
我已经捆绑了一个存储库并将 repo.bundle 文件存储在我的文件系统中。我需要从这个 bundle 克隆为另一个 repo 中的子模块,该 repo 当前有一个带有远程 url 的 .gitmodules 文件。为了从我系统本地存储的 git 包中克隆,我对我的 .git 模块文件进行了以下更改:
[submodule "myrepo_path/submodule_path"]
path = myrepo_path/submodule_path
url = file:///home/myuser/MY-BUNDLES/repo.bundle
fetch = +refs/heads/*:refs/remotes/origin/*
ignore = all
然而,当我执行 git 子模块初始化时,克隆失败并出现以下错误:
$ git submodule update --init
Cloning into '/home/myuser/Desktop/Repos/myrepo_path/submodule_path'...
fatal: too large to be a .git file: '/home/myuser/MY-BUNDLES/repo.bundle'
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
压缩包是一个1.9G的文件。我想知道是否可以以上述方式初始化我的子模块?或者对我来说唯一的选择是使用 git clone
命令
我可以通过更改 .gitmodules 文件中的 url 使其工作。而不是
url = file:///home/myuser/MY-BUNDLES/repo.bundle
使用以下(删除 file
):
url = /home/myuser/MY-BUNDLES/repo.bundle
现在使用 git submodule update --init