Как git работает с двоичными файлами? - PullRequest
57 голосов
/ 30 августа 2010
  • Должен ли я установить что-то, чтобы сообщить git, являются ли некоторые файлы бинарными, как svn?Или git просто может обрабатывать двоичные данные автоматически?
  • Если я изменю двоичный файл, чтобы у меня было 100 двоичных ревизий, git просто сохранит все 100 версий по отдельности в репозитории?такое субмодули для git?

Ответы [ 4 ]

51 голосов
/ 30 августа 2010
  1. Git обычно может автоматически определять двоичные файлы.
  2. Нет, Git попытается сохранить наборы изменений на основе дельты , если это дешевле (не всегда так).
  3. Подмодули используются, если вы хотите сослаться на другие репозитории Git в вашем проекте.
20 голосов
/ 30 августа 2010

Git использует эвристику, чтобы попытаться определить, является ли файл двоичным. См. Эту статью для получения дополнительной информации и того, как заставить git рассматривать данный файл как двоичный файл.

Для хорошего учебника по подмодулям см. здесь и здесь .

11 голосов
/ 17 сентября 2013

У меня была, по сути, та же проблема: я хотел использовать git pickle, которые являются двоичными, но git считает, что они текстовые.Pro Git Book.Поэтому я решил свои проблемы, создав файл .gitattributes с такой строкой:

*.pickle binary
4 голосов
/ 30 августа 2010
git add my-binary-file
git commit
git push

добавит ваш двоичный файл; это автоматически.

Действительно, если у вас есть 100 версий вашего файла, он будет хранить его (но сжатый).

Вы можете использовать подмодули для ссылок на другие репозитории.

...