将文件置于git repo之外,进入仓库而不移动它们的规范方法是什么?

时间:2015-08-20 16:19:52

标签: git

问题

我有一个应用程序,无足够的,将一些配置文件存储在与其他所有配置文件不同的位置。在设置应用程序之后我发现了很长时间,以及" main"中的所有内容。配置文件目录由git管理。

../app/config/ <-- git controlled

../app/utility/config <-- not

理想情况下,我可以将../utility/config中的内容添加到第一个回购中并完成。不幸的是,git使这个看似简单的操作有点复杂。

  • 它不遵循符号链接,这意味着我无法将utility/config链接到第一个回购。这将是理想的,但是......

  • 硬链接不允许使用目录,并且将文件夹和硬链接到每个文件中都很糟糕。

  • GIT_WORK_TREE更高一级可能会有效,但如果我想让大多数git命令工作,我会被迫在剩余的时间内使用该命令。

  • mount --bind会起作用,但看起来非常糟糕,并且会在另一台开发人员的计算机上出现问题并且容易出错。

  • 移动配置文件是非选项,因为它们被第三方应用程序引用。

  • 创建新的仓库并使用子模块可以正常工作,but submodules are bad, mmkay?

问题

有没有其他简单的选项可以将这些文件放入现有的仓库而无需移动文件或仓库?

1 个答案:

答案 0 :(得分:0)

你可以从外部到git-managed目录进行符号链接,例如

mv app/utility/config app/config/app_utility_config
ln -s app/utility/config app/config/app_utility_config
cd app/config
git add app_utility_config
git commit -m "tracking the app/utility/config"