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

StackOverflow https://stackoverflow.com/questions/918768

  •  06-09-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

Это также полезный обходной путь при работе с Heroku и Rails в ситуациях, когда у вас есть плагины, которые необходимо версионировать.В настоящее время Heroku не поддерживает подмодули git, поэтому лучшим решением кажется вложение рабочих копий.В этом случае вы не захотите добавлять каталог плагинов в .gitignore, так как в этом случае вы не сможете загрузить свои плагины при отправке в Heroku, но сделайте это.Будем надеяться, что Heroku в конечном итоге будет поддерживать подмодули git.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top