2016-05-07 3 views
1

У меня есть папка, в которой я храню и поддерживаю около 20 или файлов сценариев MySQL, и сейчас я управляю контролем версий с помощью Git. Поскольку эти сценарии несколько независимы друг от друга по версии, я хотел бы настроить свое репо на отслеживание версий для каждого файла отдельно. Например, считают, что у меня есть следующий:Git: Управление контролем версий на нескольких отдельных файлах в репо

ImportTableA.sql -> v1.5 
ProcessTableA.sql -> v1.2 
TableAReport.sql -> v2.1 

После немного времени, и некоторые модники сделаны два из файлов, и они выглядят следующим образом:

ImportTableA.sql -> v1.7 
ProcessTableA.sql -> v1.2 
TableAReport.sql -> v3.0 

Поскольку управление версиями и теги в Git относятся к репо в целом, есть ли easy Способ отслеживания версии для отдельных файлов? Единственный способ, о котором я могу думать, - создать отдельный репо для каждого файла, но это было бы довольно громоздким для управления.

+2

Почему вы хотите использовать git для этого? rcs все еще работает хорошо. – jthill

+0

Smudge | Очистить фильтры. Или Mercurial со специальным ключевым словом для расширения ключевого слова. Или не тяните сову на земном шаре и используйте общий идентификатор изменений для всех файлов в репо –

ответ

0

Просто добавьте комментарий с версией вверху каждого файла.

Хорошо, я шучу. Вы правы: имея отдельный репо (BTW, вы можете использовать submodules, чтобы включить их в основное репо), поскольку каждый файл довольно громоздкий.

Если вы можете переместить эти сценарии внутри БД и управлять ими там (создавая им хранимые процедуры), тогда вы можете использовать инструмент миграции базы данных. Их много. Liquibase и Flyway, чтобы назвать некоторые. Вам все равно нужно хранить миграции в Git.

+0

Собственно, вы, возможно, указали мне в правильном направлении; Я изучаю использование подмодулей и организую скрипты на 4 подмодуля. Хотя они не подходят для этого сценария, кажется, что подмодули могут работать. Единственная реальная ошибка, которую я обнаружил, заключается в том, что команда добавления subodule git предполагает, что удаленное репо уже создано. Не знаете, как создавать удаленные подмодули с нуля. –

Смежные вопросы