Каковы все эти скрытые ('._' префиксные) файлы, которые находятся в моем репозитории git?

Когда я делаю "git status" в моем каталоге, он показывает кучу необработанных файлов, которые кажутся дублирующими. Единственное отличие состоит в том, что все имеют префикс ._. Например: один из моих необработанных файлов, которые нужно добавить, будет... app/assets/stylesheets/categories.css, а другой файл будет отображаться как app/assets/stylesheets/._categories.css.

Кто-нибудь знает, что это такое? Кажется, нет хорошей документации по GitHub.

Ответ 1

Как упомянутый здесь:

если для файла foo у вас есть другой._foo, и вы находитесь на Mac, файл dot-underscore находится там, где хранится файловый ресурс fork/metadata.

(Более подробно описано в разделе DS_Store, подчеркивание точек (._), вилки ресурсов и раздраженные пользователи Windows")

.DS_Store похож на файл thumbs.db, который создает Windows XP и используется для хранения "настраиваемых атрибутов папки, такой как как положение значков или выбор фонового изображения."

Файлы dot-underscore (._) - это досадные маленькие искатели. Похоже, что когда вы используете Finder для передачи файлов в не-Mac-систему - в этом случае Windows Server - он разбивает файл на две части - данные и вилки ресурсов. Когда вы копируете файл обратно на Mac, Finder снова объединяет два бита. Windows не может использовать вилку ресурсов, поэтому ее не нужно, и вы можете ее удалить, но ее много хлопот нужно очистить после других!

См. также "Есть ли способ предотвратить создание Mac файлов подчеркивания подчёркиванием?

Ответ 2

Если вы обновите свой глобальный .gitignoreC:/Users/user/.gitignore или везде, где находится домашний каталог пользователя), вы можете добавить эту строку:

._*

Это предотвратит их появление, когда вы выполните git status, и они не будут добавлены через git add -A.

Это то, что я добавляю к моему, чтобы предотвратить различные операционные системы, вставляющие мусор в наши репозитории.

# OS generated files #
######################
.DS_Store?
ehthumbs.db
._*
# Icon?
Thumbs.db

Ответ 3

Они не имеют никакого отношения к git per se; это файлы метаданных, созданные OS X.

Ответ 4

Mac предоставляет команду командной строки, которая может быть доступна с утилитами командной строки, которые можно загрузить из магазина приложений. Это очищает файлы._. Команда $dot_clean