Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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_Version Control_Git Submodules - Fatal编程技术网

如何在Git中跟踪子模块的配置文件?

如何在Git中跟踪子模块的配置文件?,git,version-control,git-submodules,Git,Version Control,Git Submodules,在Git中,我如何组织工作来跟踪作为Git子模块的库的本地配置文件 详细信息: 库中有被跟踪的普通文件,以及在其文件夹中但未被跟踪的默认配置文件,以避免重置或覆盖它们(它们列在.gitignore中)。所有文件都在lib的文件夹或子文件夹中 我开始用Git跟踪一个使用这个库的项目。现在有一个难题: 如果我将此项目中的库设置为子模块,我将无法跟踪配置文件(Git将忽略它们,因为它们位于子模块文件夹中) 据我所知,作为一个大项目跟踪一切是一个坏主意 如果我跟踪库中的配置文件,如何避免将它们重置为默

在Git中,我如何组织工作来跟踪作为Git子模块的库的本地配置文件

详细信息:

库中有被跟踪的普通文件,以及在其文件夹中但未被跟踪的默认配置文件,以避免重置或覆盖它们(它们列在.gitignore中)。所有文件都在lib的文件夹或子文件夹中

我开始用Git跟踪一个使用这个库的项目。现在有一个难题:

  • 如果我将此项目中的库设置为子模块,我将无法跟踪配置文件(Git将忽略它们,因为它们位于子模块文件夹中)

  • 据我所知,作为一个大项目跟踪一切是一个坏主意

  • 如果我跟踪库中的配置文件,如何避免将它们重置为默认值?我是否在工作项目中做一个分支,每次都从主项目中提取?那么,如果我编辑库和其中的配置文件呢?这一定会导致合并冲突,不是吗


我想这并不新鲜,但我找不到任何建议。我很感激你们的经验。

当使用子模块时,应该避免因为容器(这里是使用lib的项目)而进行任何修改,因为它将创建子模块历史记录的新修订

例如,对于lib,可以引用配置模板文件,这些文件可以作为以下内容的基础:

  • 默认值配置文件生成(库中有一个已存档的默认值文件,可用于生成完整但未跟踪的配置文件)
  • 或自定义配置文件生成(项目有自己的配置文件值,并使用它在库中的同一位置生成非跟踪配置文件)
“带有标记化值的配置文件模板,以及将config.template文件转换为私有(且被忽略)配置文件的脚本”是我在本文中建议的方法


关于配置文件的其他更一般的建议可以在这里找到。

在主项目目录中跟踪您的配置文件,并在库子目录中放置一个符号链接

git add lib.conf
ln -s ../lib.conf lib/

还是我错过了什么?

酷!该死,我还在想,就像在窗户里一样,一个方向!