如何在超级项目中共享一个通用的git子模块

时间:2012-06-30 15:33:03

标签: git git-submodules

我正在将所有的dotfiles组织成一个git超级项目并将任何类似的文件放入子模块中,以便我可以根据需要将它们单独拉出来。我遇到的问题是我想为bash和zsh提供一个共同的别名文件(也许还有其他文件)。理想情况下,如果我选择在系统上克隆一个bash / zsh,我希望包含这些常用文件。

现在我有子模块~/.bash~/.zsh。什么是好的是~/.shell子模块实际上是~/.bash~/.zsh的子模块。可以这样做吗?如果是这样,怎么样?

我试图避免做~/.bash/shell~/.zsh/shell这样的事情,我不想记得每次更改另一个时都要更新一个。一种可能的解决方案可能是硬链接~/.bash/shell~/.zsh/shell,但如果我将完整的dotfile存储库克隆到新计算机上,我将需要再次设置此硬链接。

希望我已经足够好地解释了问题。有什么建议吗?

编辑:我刚刚发现了一些类似的堆栈交换问题(herehere)。这听起来像硬链接或创建一个特殊的bash-only和zsh-only超级项目可能是唯一真正的选择。我真的不喜欢多个超级项目选项,因为我觉得保持更新太多了。我还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

git支持软链接。因此,您可以使用ln -s对文件进行软链接,而不是硬链接。