Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:将本地Git子模块(包括子模块文件)推送到远程裸存储库_Git_Git Submodules_Git Remote_Git Bare - Fatal编程技术网

Git:将本地Git子模块(包括子模块文件)推送到远程裸存储库

Git:将本地Git子模块(包括子模块文件)推送到远程裸存储库,git,git-submodules,git-remote,git-bare,Git,Git Submodules,Git Remote,Git Bare,我有两个本地项目,我用gitgit管理,一个项目依赖于另一个项目,如下所示: project A/ ├── project B/ │   ├── file B₁ │   ├── file B₂ │ ├── … 对我来说,将项目B作为项目a的git子模块是有意义的 现在,我为projecta建立了一个远程裸存储库,用于备份和共享。当然,我希望远程存储库包含所有projectb,包括它的文件(fileb)₁,文件B₂,…)。但是,gitpush和gitpush--recurse su

我有两个本地项目,我用git
git
管理,一个项目依赖于另一个项目,如下所示:

project A/
├── project B/     
│   ├── file B₁
│   ├── file B₂
│   ├── …
对我来说,将
项目B
作为
项目a
的git子模块是有意义的

现在,我为
projecta
建立了一个远程裸存储库,用于备份和共享。当然,我希望远程存储库包含所有
projectb
,包括它的文件(
fileb)₁
文件B₂,…)。但是,
gitpush
gitpush--recurse submodules=on-demand
不能实现这一点。每当我通过
git ls tree-r HEAD
列出远程存储库中的文件时,只会列出
projecta
本身的文件。这对我来说是有道理的


但是,是否有办法将整个子模块
项目B
以某种方式推送到我的远程基本存储库中,最好是以一种干净的方式?

子模块必须有一个单独的存储库。创建一个新的裸回购并将子模块推送到它。

子模块必须有一个单独的存储库。创建一个新的裸回购协议并将您的子模块推送到它。

如果B实际上是一个子模块,您应该有一个.gitmodule引用它。
在该
.gitmodule
文件中,您将看到推送B的远程repo URL,以防在B中执行任何新的提交

但是B是一个子模块,意味着a中没有B文件,只有对B SHA1的引用


如果需要,可以取消子模块B(使用或)以将所有B文件保留在A中。

如果B实际上是子模块,则应该有一个.gitmodule引用它。
在该
.gitmodule
文件中,您将看到推送B的远程repo URL,以防在B中执行任何新的提交

但是B是一个子模块,意味着a中没有B文件,只有对B SHA1的引用

如果需要,可以取消子模块B(使用或),以便将所有B文件保留在A中