▷Как удалить файлы DS_Store из репозитория Git
Если вы используете git на платформе Mac, вы, вероятно, сталкивались с файлами DS_Store в репозитории git. Они могут раздражать и загромождать репозиторий git, и вы даже можете столкнуться с ненужными конфликтами из-за файлов .DS_Store, хранящихся в репозиториях git, где вы можете увидеть сообщения об ошибках, такие как «Файлы .DS_Store и .DS_Store имеют конфликт дерева». Поскольку файлы .DS_Store не нужны подавляющему большинству репозиториев git и обычно могут вызывать проблемы, разумно удалить файлы .DS_Store из репозиториев git.
Прежде всего, если вам интересно, что такое файл DS_Store, это файл, содержащий метаданные для конкретной папки на Mac. Таким образом, файл .DS_Store включает в себя все метаданные, связанные с типом отображения, размером файла/папки, информацией об эскизах, макетом папки и любыми настройками уровня Finder для конкретной папки на Mac. Поскольку файлы .DS_Store имеют префикс . в имени файла они невидимы в Finder (что делает их скрытыми файлами), но они будут отображаться в командной строке и с инструментами командной строки или менеджерами репозиториев, такими как git, которые по умолчанию будут включать все файлы, включая скрытые файлы, в каталоге.
Хотя файлы .DS_Store явно полезны для Finder, они бесполезны в репозитории git. Давайте посмотрим, как удалить все файлы DS_Store из репозитория git и как предотвратить их сохранение в будущих репозиториях git.
Как удалить существующие файлы .DS_Store из репозитория Git
- Откройте терминал и перейдите в каталог репозитория git, из которого вы хотите избавиться от файлов .DS_Store.
- Введите следующую командную строку:
находить . -имя .DS_Store -print0 | xargs -0 git rm -f –игнорировать-несоответствие
Это найдет файлы .DS_Store и удалит их.
Если вы хотите пойти еще дальше, вы можете удалить все файлы DS_Store с Mac, используя другой вариант команды find, но имейте в виду, что при этом вы потеряете все настройки окон и папок из Finder, и поэтому это не так. особенно рекомендуется выбрать это решение.
Как игнорировать файлы .DS_Store в git
Теперь давайте сделаем еще один шаг и запретим git поддерживать и фиксировать файлы DS_Store в первую очередь и полностью их проигнорируем. Это делается путем изменения (или создания) файла .gitignore в активном каталоге репозитория:
эхо .DS_Store >> .gitignore
Теперь вам нужно добавить файл .gitignore в свой репозиторий и зафиксировать изменение.
git добавить .gitignore
git commit -m ‘Игнорирование файлов .DS_Store’
–
Вы также можете исключить файлы DS_Store из zip-архивов, созданных на Mac, уменьшив беспорядок (и предотвратив сохранение метаданных, специфичных для машины, в zip-файле). Файлы .DS_Store также могут создавать проблемы в сетевых средах, но команда по умолчанию может предотвратить создание файлов DS_Store для сетевых томов, если они есть.