如何提交到嵌套存储库?

How to make a commit to the nested repository?

我已经克隆了 skwp/dotfiles 用作我自己的点文件。 为了改进的目的,我不时地提交我的点文件。大多数这些提交是对存储库的主要部分进行的。

现在我需要提交 ~/.zshrc 文件。此文件属于 prezto 存储库,它是 skwp/dotfiles 存储库的子模块。

问题是如何将这个嵌套存储库作为我的点文件的一部分?我应该更改远程 url 以指向我的存储库吗?或者有没有一种方法可以将 prezto 集成到一个大存储库中,然后无论要将提交推送到存储库的哪个部分,我都可以无缝地提交到存储库。

您可以将 prezto 保留为子模块,但将其 URL 更改为指向您拥有的该存储库的分支。
意思是,你需要分叉 https://github.com/sorin-ionescu/prezto.git, and then change the URL seen in the skwp/dotfiles/.gitmodules file: see "Changing remote repository for a git submodule".
从那里,您可以在该子模块中进行任何您想要的新提交,添加、提交和推送(到您的分叉),然后返回到主父存储库,添加、提交和推送(也到您的分叉)。

另一种方法,仍然假设你已经分叉了主点文件回购,将取消子模块 prezto 子模块:参见“un-submodule a git submodule”。