Как я могу удалить файлы .DS_Store из Git-репозитория? - PullRequest
1073 голосов
/ 20 сентября 2008

Как я могу удалить эти надоедливые файлы Mac OS X .DS_Store из репозитория Git?

Ответы [ 22 ]

2 голосов
/ 01 августа 2012

Существует несколько способов решения этой проблемы. Чтобы избежать создания файлов .DS_Store, не используйте OS X Finder для просмотра папок. Альтернативный способ просмотра папок - использование командной строки UNIX. Для удаления файлов .DS_Store можно использовать сторонний продукт под названием DS_Store Terminator. Чтобы удалить файлы .DS_Store из всей системы, можно использовать команду оболочки UNIX. Запустите Терминал из Приложений: Утилиты В командной строке UNIX введите следующую команду UNIX: sudo find / -name ".DS_Store" -depth -exec rm {} \; При запросе пароля введите пароль администратора Mac OS X.

Эта команда предназначена для поиска и удаления всех экземпляров .DS_Store, начиная с корня (/) файловой системы на всей машине. Чтобы настроить эту команду для запуска в качестве запланированной задачи, выполните следующие действия: Запустите Терминал из Приложений: Утилиты В командной строке UNIX введите следующую команду UNIX:

sudo crontab -e При запросе пароля введите пароль администратора Mac OS X. Однажды в редакторе vi нажмите букву I на клавиатуре и введите следующее:

15 1 * * * поиск корня / -name ".DS_Store" -depth -exec rm {} \;

Это называется записью crontab, которая имеет следующий формат:

Пользовательская команда DayOfMonth Month DayOfWeek минутного часа.

Запись crontab означает, что команда будет автоматически выполняться системой в 1:15 каждый день под учетной записью root.

Команда начинается с поиска до. Если система не работает, эта команда не будет выполнена.

Чтобы сохранить запись, нажмите клавишу Esc один раз, затем одновременно нажмите Shift + z + z.

Примечание. Информация на шаге 4 предназначена только для редактора vi.

2 голосов
/ 17 мая 2016

добавить это в ваш файл .gitignore

#Ignore folder mac
.DS_Store

сохраните это и сделайте коммит

git add -A
git commit -m "ignore .DS_Store"

и теперь вы игнорируете это для всех ваших коммитов

...