github/gitignore · Global/macOS.gitignore
شرح قالب .gitignore لـ macOS
يشرح سبب تجاهل macOS.gitignore لـ .DS_Store وتفرعات الموارد ._ وملفات Icon ومجلدات Spotlight وTime Machine وسلة المهملات، وطريقة وضعه في ملف gitignore العام.
يحجب macOS.gitignore ملفات البيانات الوصفية التي ينشئها Finder ونظام ملفات macOS دون علم المستخدم. ولأنها لا علاقة لها بمحتوى المشروع، فالموصى به أصلًا وضع هذا القالب في ملف gitignore العام الشخصي (core.excludesFile) لا في المستودع.
عمليًا لا يضبط كل أعضاء الفريق الإعداد العام، فحوادث إيداع .DS_Store شائعة. لذلك تضعه فرق كثيرة في ملف .gitignore الخاص بالمشروع أيضًا.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
.DS_Store.localized | البيانات الوصفية لـ Finder.DS_Store ملف إعدادات العرض (مواضع الأيقونات والفرز) الذي ينشئه Finder في كل مجلد. ينشأ بمجرد فتح المجلد، ويحوي قائمة بأسماء الملفات فقد يكشف معلومات دون قصد. |
._*.AppleDouble.LSOverride | تفرعات الموارد (AppleDouble)ملفات مرافقة بصيغة ._اسم_الملف تُنشأ لحفظ السمات الموسّعة عند نسخ الملفات إلى أقراص ليست HFS+ أو APFS (مثل FAT ومشاركات الشبكة). |
.VolumeIcon.icns | الأيقونات المخصصةملف أيقونة القرص. أما الأيقونات المخصصة للمجلدات فتُحفظ في ملف Icon ينتهي اسمه بمحرف إرجاع العربة (CR)، ويلتقطه القالب بنمط أقواس بصيغة Icon[\r]. |
.Spotlight-V100.fseventsd.Trashes.TemporaryItems.DocumentRevisions-V100 | فهارس النظام وسلة المهملاتفهرس Spotlight وسجل أحداث نظام الملفات وسلة المهملات ومخزن إصدارات المستندات، وتنشأ في جذر الأقراص الخارجية أو الأقراص عمومًا. |
.com.apple.timemachine.donotpresent.com.apple.timemachine.supportedBackups.backupdb.MobileBackups | Time Machineملفات العلامات ومجلدات النسخ الاحتياطي التي تنشأ على قرص النسخ الاحتياطي لـ Time Machine. |
.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk | مجلدات مشاركة AFPقواعد البيانات والمجلدات التي ينشئها خادم ملفات AFP (Apple Filing Protocol) على الأقراص المشتركة. حتى إن احتوى الاسم على مسافات، يُكتب نمط gitignore كما هو. |
__MACOSX/ | مخلفات فك الضغطمجلد تفرعات الموارد الذي يظهر عند فك ضغط ملف zip أُنشئ على macOS بأداة أخرى. |
ملاحظات عملية
- الإعداد العام: نفّذ
git config --global core.excludesFile ~/.gitignore_globalثم ضع هذا القالب في ذلك الملف. إن لم تضبطه فسيُستخدم المسار الافتراضي~/.config/git/ignore. - احذف
.DS_Storeالمُودَع مسبقًا عبرgit rm --cached. وفي تبويب إلغاء التتبع يمكنك معالجتها دفعة واحدة باستخدام وضع «كل الملفات المُتتبَّعة التي يطابقها .gitignore». - لا تحجب قاعدة
._*كل الملفات التي تبدأ بشرطة سفلية، بل الأسماء التي تبدأ بـ._(نقطة ثم شرطة سفلية) فقط.
القالب الأصلي
macOS.gitignore
# General.DS_Store.localized__MACOSX/.AppleDouble.LSOverrideIcon[ ]# Resource forks._*# Files and directories that might appear in the root of a volume.DocumentRevisions-V100.fseventsd.Spotlight-V100.TemporaryItems.Trashes.VolumeIcon.icns.com.apple.timemachine.donotpresent.com.apple.timemachine.supported.PKInstallSandboxManager.PKInstallSandboxManager-SystemSoftware.hotfiles.btree.vol.file.disk_label*lost+found.HFS+ Private Directory Data[ ]# Directories potentially created on remote AFP share.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk# Mac OS 6 to 9Desktop DBDesktop DFTheFindByContentFolderTheVolumeSettingsFolder.FBCIndex.FBCSemaphoreFile.FBCLockFolder# Quota system.quota.group.quota.user.quota.ops.group.quota.ops.user# TimeMachineBackups.backupdb.MobileBackups.MobileBackups.trashMobileBackups.trashtmbootpicker.efi
مصدر القوالب: github/gitignore/Global/macOS.gitignore @356fd7b (2026-09-11) · CC0-1.0