Заставить git или svn или другую VCS сохранить только последнюю версию файла? - PullRequest
1 голос
/ 13 сентября 2011

У меня та же проблема, что и у этого парня Как мне управлять встроенными файлами в разных ветках? .И насколько я понимаю эту проблему, решение должно заключаться в том, чтобы заставить git не хранить всю историю для каких-то файлов.Если он сможет не игнорировать встроенные двоичные файлы, а хранить их в ветке, это решит проблему.Но эти двоичные файлы не должны отслеживаться как нормальные источники.Каждый этот двоичный файл должен быть только «сохранен» в ветке, только самая последняя его версия и без какой-либо истории предыдущих удаленных или измененных версий.

Теперь в git-stash есть переключатель «save --all», ноstash не является хранилищем для отдельных филиалов, его нельзя использовать в качестве постоянного хранилища для предварительно скомпилированных двоичных файлов в каждом филиале.Да?Есть еще идеи?

Также мне интересно, можно ли сделать такой трюк в SVN или может быть в любой другой системе контроля версий?Даже если svn будет медленным для двоичных файлов ... но просто любопытно.

Ответы [ 2 ]

4 голосов
/ 13 сентября 2011

Решение вопроса, на который вы ссылаетесь, вовсе не в том, чтобы хранить эти файлы в репозитории, а в том, чтобы хранить их в файловой системе, в месте, не контролируемом системой контроля версий.

Как правило, нет смысла хранить в системе контроля версий файлы, которые автоматически создаются из других источников. VCS для отслеживания истории файлов, особенно исходных файлов и других файлов, которые изменяются вручную. Если вас не интересует история файла, особенно если это большой двоичный артефакт сборки, то местом для него является файловая система, а не VCS.

0 голосов
/ 13 сентября 2011

Посмотрите на git media для одного возможного решения, которое может соответствовать вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...