Папка атрибутов Git как двоичная для git

#git #version-control #binaryfiles #directory-structure

#git #управление версиями #двоичные файлы #структура каталогов

Вопрос:

Я пытаюсь установить каталог как двоичный (каталог, а не вложенные файлы каталога).

Я пробую это в .gitignore :

DIRNAME binary

Цель состоит в том, чтобы указать git, что каталог должен обрабатываться как «двоичный файл»

Чтобы четко объяснить :

  • Мой каталог содержит набор файлов и подкаталогов, которые могут быть прочитаны (все файлы и подкаталоги за один раз) определенной программой, это как файл Excel (file.xlsx ), Excel содержит несколько файлов и подкаталогов, сжатых с расширением xlsx, читаемых только Microsoft Excel.
  • Параллельно
    • для моего случая: папка = двоичный файл (все вложенные папки и файлы должны быть доступны для чтения)
    • для случая Excel: file.xlsx = двоичный файл

Можно ли указать Git, что мой каталог похож на двоичный файл?

Цель, параллельно (при слиянии git) :

  • для моего случая: обработайте каталог как двоичный для выполнения diff с помощью определенного инструмента (для которого нужен каталог и все его содержимое)
  • для случая Excel: обработайте файл как двоичный для выполнения diff с помощью Excel

Я не знаю, смог ли я четко объяснить свою проблему, но описать ее непросто…

Комментарии:

1. DIRNAME binary не выглядит как допустимый глобус? — Также вы ищете git lfs?

2. Спасибо за ваш ответ, я никогда не использую lfs, и я не вижу, как я могу использовать его в моем случае, потому что каталог DIRNAME должен управляться как файл, как я объясняю. Если я изменяю один из вложенных файлов во второй ветке, когда я объединяю его в свою первую ветку, мне нужно открыть каталог (из каждой ветки) с помощью моего специального инструмента diff и merge. И если папка не представлена в виде одного файла, git merge открывает все файлы, в которых реализована модификация, но я должен использовать каталог, а не каждый файл по одному, чтобы быть открытым с помощью моего конкретного инструмента diff и merge

3. @torek есть идеи? Я немного потерялся

Ответ №1:

Это невозможно. .gitattributes в частности, не соответствует каталогам, только файлам, поэтому буквально нет способа обрабатывать каталоги с его помощью.

Если вы хотите объединить отдельные файлы в каталоге определенным образом, вы можете установить шаблон, например dirname/** , для рекурсивного сопоставления всех файлов в каталоге, а затем применить пользовательский драйвер слияния для каждого отдельного файла. Однако вы не можете объединить этот файл на основе содержимого других файлов, также находящихся в этом каталоге.

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