我有一个私有git存储库(repos' private'),其中包含一堆文件 我经常编辑。其中一些文件发布在网站上。这很乏味 每次我做一个小改动时更新这些文件。因此我想到了 以下列方式使用git子模块:我设置了第二个(现在是公共的)git 存储库(' public'),并放入网站上显示的所有文件。该 然后,网站会在“公共”中提供这些文件的链接。一旦我编辑了其中一个 私人'中的文件这些公共'公共'公共'公共'将会 可见(在简单的git命令之后),因此文件更改将是可见的 在网站上。我的问题是:
1)这是处理问题的好方法吗?
2)我读到git submodule update --remote --merge
,但我还不是100%
确定是否将子模块更新为主项目中的更改或
恰恰相反。我经常看到上游'用于解释
但无法找到确切的定义。
3)如果子模块主要用于更新主项目的意义上 对于子模块的更改,我是否必须创建私有' 存储库作为一个子模块和“公共场所”。一个作为主要项目? (因为我 我想跟踪私人'的变化。来自' public')
[我以为我仍然将这些问题保存在一篇文章中,因为它们非常相关。]
答案 0 :(得分:1)
使用子模块会增加相当多的复杂性。
似乎拥有一个单独的存储库会更容易,目录是私有的'和一个目录' public'。目录' public'可以包含#private私密文件的符号链接。
这将允许您拥有两种类型的文件,但避免了子模块的复杂性。
另一个选择是让你的构建系统处理这个:只有一个包含所有文件的目录,并有一个Makefile目标,它将公共文件复制到另一个目录。