git只添加某个分支的子模块
在我的主存储库工作目录中,是否可以只签出一个分支作为子模块,而不占用整个存储库的开销?(实际上只下载该分支机构的文件)git只添加某个分支的子模块,git,branch,git-submodules,Git,Branch,Git Submodules,在我的主存储库工作目录中,是否可以只签出一个分支作为子模块,而不占用整个存储库的开销?(实际上只下载该分支机构的文件) 我考虑为javascript库提供一个子模块,该子模块具有一个名为“dist”的分支,其中只包含简化的已编译即用js文件。“master”将包含源文件和一堆仅用于开发lib的其他内容。请注意,子模块仅表示固定的SHA1 也就是说,在git submodule update--remote上,您可以按照我的答案让子模块在给定分支的最新分支之前更改其SHA1“” 对于现有子模块:
我考虑为javascript库提供一个子模块,该子模块具有一个名为“dist”的分支,其中只包含简化的已编译即用js文件。“master”将包含源文件和一堆仅用于开发lib的其他内容。请注意,子模块仅表示固定的SHA1 也就是说,在git submodule update--remote上,您可以按照我的答案让子模块在给定分支的最新分支之前更改其SHA1“” 对于现有子模块:
git config -f .gitmodules submodule.<path>.branch <branch>
git config-f.gitmodules子模块..分支
回购协议可以将自身添加为子模块,具有给定的分支。我过去经常这样做 由于子模块是子回购协议,您将下载回购协议,并仅签出您需要的分支机构。
尽管如此,仍存在将克隆限制为单个分支的限制。
您可以尝试使用
-b
(git submodule add-b abranch
)选项再次添加子模块,以检查是否克隆了远程子模块repo,其中只有一个分支。请参阅“在相同的存储库中添加子模块分支(子模块1分支)内部MainProjectBranch:- 创建子模块的分支(视为存储库):-
- 从主节点创建一个分支作为子模块1分支
- 在本地计算机中克隆子模块1branch,删除其中Master的所有内容,并仅通过给定命令推送相应的子模块1branch项目:-
- git克隆-b子模块1分支
- git状态
- git添加
- git commit-m“删除了主项目的所有内容并加载了我的子模块项目数据”
- git推送
- 从“Master”创建一个分支,并将其命名为“MainProjectBranch”
- 在本地克隆此分支
- 现在,通过给定命令在此分支上执行子模块:-
- git子模块添加-b子模块1分支 子模块/
- git状态
- cat.git模块
- git添加
- git commit-m“添加了子模块1branch,作为MainProjectBranch的子模块”
- git推送
我已经编辑了我的答案,但关键是:你将签出你想要的分支,但是,你仍然需要获取所有回购。尽管有一个分支选项:查看我的编辑。