Являются ли git субмодулями единственный безопасный способ иметь рабочие копии в рабочих копиях?

В моем сценарии у меня есть программа, которая анализирует входные файлы данных и создает другие файлы вывода данных. Я хочу, чтобы версия управляла программой, и я хочу, чтобы версия управляла файлами данных, и в качестве предпочтения я хочу иметь рабочую копию файлов данных в рабочей копии программы. Я хочу, чтобы программа и данные контролировались отдельно, чтобы уменьшить "шум". Программа не имеет зависимости от файлов данных.

Если я использую подмодули git, тогда, когда что-то происходит в каталоге данных (например, исправленные обновления), элемент управления версией программы отмечает, что обновление с подмодулем. Что было бы полезно, если программа зависела от данных, но это не так.

В таком сценарии возможно ли иметь рабочую копию в другой рабочей копии без использования подмодулей git?

Ответ 1

Можно просто "вложить" рабочие копии в Git. Поэтому, если вы клонируете свой репозиторий программ, то внутри, которые делают клон ваших файлов данных, вы можете работать с ними независимо. Когда Git выполняет операции с файлами, он ищет дерево каталогов, ищущее каталог .git, поэтому операции Git, выполняемые в репозитории данных, не влияют на репозиторий программ. Если вы сделаете это, вы можете добавить имя каталога данных в .gitignore, чтобы уменьшить шум из репозитория программы.

Ответ 2

Это также полезное обходное решение позволяет работать с Heroku и рельсами в ситуациях, когда у вас есть плагины, которым необходимо управлять версиями. В настоящее время Heroku не поддерживает подмодули git, поэтому вложенные рабочие копии кажутся лучшим решением. В этом случае вы не захотите добавить каталог плагина в .gitignore, так как в этом случае вы не сможете загружать свои плагины при нажатии на герою, но se la vi. Надеюсь, Heroku в конечном итоге поддержит подмодули w20.