- Должен ли я установить что-то, чтобы сообщить git, если некоторые файлы являются двоичными, так же как svn? Или, git просто может обрабатывать двоичные данные автоматически?
- Если я изменю двоичный файл, так что у меня есть 100 двоичных изменений, будет ли git просто хранить все 100 версий отдельно в репозитории?
- Что такое подмодули для git?
Как git обрабатывает двоичные файлы?
Ответ 1
- Git обычно может автоматически определять двоичные файлы.
- Нет, Git будет пытаться хранить наборы изменений на основе дельты, если это дешевле (не всегда так).
- Подмодули используются, если вы хотите сослаться на другие Git-репозитории в вашем проекте.
Ответ 2
Git использует эвристику, чтобы попытаться определить, является ли файл двоичным. Смотрите статью для получения дополнительной информации и как заставить git обрабатывать данный файл как двоичный файл.
Ответ 3
У меня была, по сути, одна и та же проблема: я хотел git файлы pickle, которые являются двоичными, но git считает, что они являются текстом.
Я нашел эту главу в git Атрибутах в книге Pro git. Поэтому я решил свои проблемы, создав файл .gitattributes
с этой строкой:
*.pickle binary
Ответ 4
git add my-binary-file
git commit
git push
Будет добавлен ваш двоичный файл; он автоматически.
Действительно, если у вас есть 100 версий вашего файла, он сохранит его (но сжат).
Вы можете использовать подмодули для ссылок на другие репозитории.
Ответ 5
Проблема связана с .gitignore
Следующие пути игнорируются одним из ваших файлов .gitignore: XXX/YYYY/Bin1_0x1d_0x0d.bin
Используйте -f, если вы действительно хотите их добавить.
git add -f XXX/YYYY/*
ИЛИ
git add -f XXX/YYYY/Bin1_0x1d_0x0d.bin