Как удалить файлы DS_Store из репозитория Git

Удалить файлы 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, которые по умолчанию включают каждый отдельный файл, включая скрытые файлы, в каталог.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Хотя файлы .DS_Store, очевидно, полезны для Finder, они бесполезны для хранения в репозитории git. Давайте рассмотрим, как можно удалить все файлы DS_Store из репозитория git и как предотвратить их сохранение в будущих репозиториях git.

Как удалить существующие файлы .DS_Store из репозитория Git

  1. Откройте терминал и перейдите в каталог git repo, который вы хотите очистить от файлов .DS_Store.
  2. Введите следующую командную строку:
  3. find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Это найдет файлы .DS_Store и удалит их.

Если вы хотите пойти еще дальше, вы можете удалить все файлы DS_Store с Mac, используя другой вариант команды find, но имейте в виду, что при этом вы потеряете все настройки окон и папок Finder, поэтому особенно не рекомендуется пойти по этому пути.

Как игнорировать файлы .DS_Store в git

Теперь давайте сделаем еще один шаг и запретим git поддерживать и фиксировать файлы DS_Store в первую очередь, а вместо этого полностью их проигнорируем. Это делается путем изменения (или создания) файла .gitignore в активном каталоге репо:

echo .DS_Store >> .gitignore

Теперь вам нужно добавить файл .gitignore в свой репозиторий и зафиксировать изменение.

git add .gitignore

git commit -m 'Ignoring .DS_Store Files'

Что бы это ни стоило, это не только git, который может столкнуться с проблемами с созданием файла .DS_Store или беспорядком, или может извлечь выгоду из их игнорирования, вы также можете исключить файлы DS_Store из zip-архивов, созданных на Mac, что может помочь уменьшить беспорядок (и предотвратить хранение метаданных, специфичных для машины) в zip-файле. И вы можете обнаружить, что файлы .DS_Store неприятны для сетевых сред, но команда по умолчанию может предотвратить создание файла DS_Store для сетевых томов, если это необходимо.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *