Двоичные файлы, если они хранятся в Git, должны создавать новую версию (т.е. учитываться при следующем коммите).
Итак: вам нужны эти двоичные файлы, или вы можете восстановить их?
Что касается источников, в Git SHA1 является королем , а , поскольку дата файла (временные метки) участвует в его вычислении , поскольку внешний набор файлов может быть довольно разным по своему содержанию (больше файлов, временных файлов, файлов, которые следует игнорировать, ...), было бы лучше:
- распаковать в отдельную директорию
- используйте инструмент, подобный WinMerge , чтобы обнаружить изменения, основанные на содержимом, объединить их, а затем зафиксировать только те файлы, которые фактически развились.
Вы просто сравниваете два набора каталогов и файлов: тот, в котором вы разархивировали разработку своего далекого коллеги, и тот, в котором вы сейчас работаете.
Спасибо rq за указание на то, что временные метки не являются частью вычисления SHA1.
Только:
- тип
- размер
- содержимое блоба
являются частью вычисления SHA1 :
(источник: alexgirard.com )
Однако при импорте большого набора файлов, управляемых извне, в репозиторий git, вы рискуете добавить новые файлы в каталоги, управляемые git, изменить их содержимое, следовательно, их ключ SHA1, даже если старые файлы, управляемые git, не изменились. 1044 *
Это означает, что многие изменения в дереве являются искусственными, если эти новые файлы являются просто временными файлами или файлами, которые в любом случае следует игнорировать / создавать заново / восстанавливать.
(источник: alexgirard.com )
Вышеописанный процесс просто обеспечивает внешний способ определения того, что изменилось между набором файлов external и набором файлов, управляемым git, и определяет, должен ли он быть частью рабочего каталога git или нет.