LINUX.ORG.RU

git и бинарные файлы


0

0

Хоть я и не программист, но постоянно использую git для изменяемых текстовых файлов (напр. статьи в TeX), которые при необходимости можно вернуть назад. А вот с курсовыми (там где много бинарников: чертежи и пр.) я почему-то по-традиции поступал обычным регулярным zip'ованием в архив. Возник вопрос: следует ли применять git для отслеживания нетекстовых файлов (diff кончено уже работать не будет, ну да ладно)? Это будет эффективней, чем обычное копирование в арихив? Просто ведь git изначально для отслеживания сорцов текстовых предназначен и всё ориентирвано именно на это...


> следует ли применять git для отслеживания нетекстовых файлов

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

Это будет эффективней, чем обычное копирование в арихив?

По памяти - вряд ли.

diff кончено уже работать не будет, ну да ладно

Не знаю, как в Git, но в приличных VCS можно назначить свой diff.

tailgunner ★★★★★
()

SCM предназначены для отслеживания изменений вообще,
чтобы в случае ошибки быстро откатиться назад/локализовать
проблемы, для бинарей смысл есть, вдруг чертёж испортишь и
бекапа не будет? Тем более это лучше, чем тратить свои
ресурсы на «регулярное зипование».

Впрочем,

бинарников: чертежи


Что же это за чертежи такие? Почему не используешь
текстовые языки для описания изображений? Для тех.иллюстраций
они очень хорошо подходят. Тогда и изменения в них будут
укладываться в обычную текстовую модель.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Я имел ввиду, будет ли эффективней использование git commit (хотя бы в плане рамера репозитория) и скрипта, который сделает арихив всего нужного в .backups/<текущая-дата>? Может там ещё git всяких мелочей наделает типа замен CR — CRLF, рассматривая файлы как текстовые и т.д...

/offtop
Другую VSC не предлагать

/offtop

Что же это за чертежи такие?


Ну там не только чертежи. Это по универу, там разные пикадовские файлы, чертежи в компасе (только не надо про чертежи, описанные текстом на к-л языке, это изврат и я этого не хочу), библиотеки того же пикада и пр. Ну и простые картинки jpg, выдранные из учебников (разные графики, схемы и диаграммы), вставленные в качестве «Рис.» в курсовик.

paxac
() автор топика
Ответ на: комментарий от paxac

Все современные SCM нормально обращаются с бинарями,
так что храни историю в ней.

.backups/<текущая-дата>


С учётом вышесказанного это просто велосипед, не надо так делать.

Sphinx ★★☆☆
()
Ответ на: комментарий от paxac

> Я имел ввиду, будет ли эффективней использование git commit (хотя бы в плане рамера репозитория)
Не вижу никаких проблем, если только место не очень-очень критично, а архивы очень большие. Тогда лучше попробовать git-bigfiles — http://caca.zoy.org/wiki/git-bigfiles

и скрипта, который сделает арихив всего нужного в .backups/<текущая-дата>?


Нет.

oh
()
Ответ на: комментарий от oh

> git-bigfiles

У меня большинство файлов <= 1МБ (напр. средний чертеж на A3 занимает ок. 500 кб). Мне обычный git пойдёт?

paxac
() автор топика
3 августа 2010 г.

А как достать бинарь из комита? git checkout -p a0s5fd51f говорит что только бинари менялись и отказывается их вытаскивать.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.