Pack Camo

أداة إنشاء .gitignore

ادمج قوالب اللغات وأطر العمل والمحررات وأنظمة التشغيل في ملف .gitignore واحد.

كل شيء يعمل محليًا — لا يُرفع أي شيء.

.gitignore

meta.patterns · meta.lines · تمت إزالة 1 تكرار

# Generated for: Node, Env & secrets, macOS, Windows, VS Code### Node #### Logslogs*.lognpm-debug.log*yarn-debug.log*yarn-error.log*lerna-debug.log*.pnpm-debug.log*# Diagnostic reports (https://nodejs.org/api/report.html)report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json# Runtime datapids*.pid*.seed*.pid.lock# Coverage directory used by tools like istanbulcoverage*.lcov.nyc_output# Dependency directoriesnode_modules/jspm_packages/bower_components# TypeScript cache*.tsbuildinfo# Optional npm cache directory.npm# Optional eslint / stylelint cache.eslintcache.stylelintcache# Optional REPL history.node_repl_history# Output of 'npm pack'*.tgz# Yarn Integrity file.yarn-integrity# dotenv environment variable files.env.env.development.local.env.test.local.env.production.local.env.local# parcel-bundler cache.cache.parcel-cache# Build outputdistbuild# Gatsby files.cache/public# Serverless directories.serverless/# FuseBox cache.fusebox/# DynamoDB Local files.dynamodb/# TernJS port file.tern-port# Stores VSCode versions used for testing VSCode extensions.vscode-test# yarn v2.yarn/cache.yarn/unplugged.yarn/build-state.yml.yarn/install-state.gz.pnp.*### Env & secrets #### Environment files.env.*!.env.example!.env.sample!.env.template# Keys and certificates*.pem*.key*.p12*.pfx*.crt*.cerid_rsaid_rsa.pubid_ed25519id_ed25519.pub# Credentialscredentials.jsonsecrets.jsonsecrets.yml*.secret.npmrc.pypirc.netrcservice-account*.json### macOS #### General.DS_Store.AppleDouble.LSOverrideIcon[\r]# Thumbnails._*# Files that might appear in the root of a volume.DocumentRevisions-V100.fseventsd.Spotlight-V100.TemporaryItems.Trashes.VolumeIcon.icns.com.apple.timemachine.donotpresent# Directories potentially created on remote AFP share.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk### Windows #### Windows thumbnail cache filesThumbs.dbThumbs.db:encryptableehthumbs.dbehthumbs_vista.db# Dump file*.stackdump# Folder config file[Dd]esktop.ini# Recycle Bin used on file shares$RECYCLE.BIN/# Windows Installer files*.cab*.msi*.msix*.msm*.msp# Windows shortcuts*.lnk### VS Code ###.vscode/*!.vscode/settings.json!.vscode/tasks.json!.vscode/launch.json!.vscode/extensions.json!.vscode/*.code-snippets# Local History for Visual Studio Code.history/# Built Visual Studio Code Extensions*.vsix

تظل الملفات المتتبعة حاليًا قيد التتبع: شغّل git rm --cached <file> لإيقاف تتبعها.

ملف .gitignore واحد لجميع تقنيات مشروعك

تجمع أداة إنشاء .gitignore هذه القوالب الجاهزة للغات البرمجة وأطر العمل وأدوات البناء والمحررات وأنظمة التشغيل في ملف واحد منسق. اختر Node وNext.js، وأضف macOS وWindows وVS Code، لتحصل على ملف .gitignore منظم بأقسام واضحة، مع إزالة الأنماط المكررة ومساحة مخصصة لقواعدك الخاصة. القوالب مستخلصة من مستودع github/gitignore الرسمي، ويتم تجميع كل شيء محليًا داخل متصفحك.

كيفية إنشاء ملف .gitignore

  1. 1اكتب اسم لغة أو إطار عمل أو محرر أو نظام تشغيل في مربع البحث — مثل python أو unity أو jetbrains — وانقر على العنصر لإضافته. اضغط Enter لإضافة أول نتيجة مطابقة.
  2. 2ادمج أكبر عدد ممكن من القوالب التي يحتاجها مشروعك. يتكون مشروع الويب النموذجي عادةً من لغة وإطار عمل ومحرر الأكواد ونظام التشغيل.
  3. 3أضف مسارات مخصصة لمشروعك في قسم أسطر مخصصة، مثل /uploads/ أو *.sqlite.
  4. 4انسخ النتيجة أو انقر على تنزيل كملف .gitignore وضعه في المجلد الرئيسي لمستودع Git الخاص بك.

ما الذي يفعله ملف .gitignore

يحدد ملف .gitignore الملفات التي لا ينبغي لـ Git تتبعها: التبعيات القابلة للتنزيل تلقائيًا بواسطة مديري الحزم (node_modules/ وvendor/)، ومخرجات البناء والترجمة (dist/ وtarget/)، والملفات المؤقتة، والسجلات، وإعدادات المحررات، والبيانات السرية مثل .env. يؤدي استبعادها إلى تقليل حجم المستودع وجعل الفروقات (diffs) واضحة وتفادي تسريب بيانات الاعتماد الحساسة.

يؤثر الملف فقط على الملفات غير المتتبعة حاليًا (untracked). إذا كان هناك ملف مضاف ومسجل بالفعل في Git، فلن يؤدي إدراجه في .gitignore إلى حذفه تلقائيًا؛ شغّل git rm --cached <file> (أو git rm -r --cached <dir> للمجلدات) وأنشئ commit للتوقف عن تتبعه مع الاحتفاظ بنسختك المحلية.

صيغة وقواعد أنماط .gitignore

ترتيب القواعد أمر حاسم: فالقاعدة الأخيرة المطابقة هي التي تفوز دائمًا، ولهذا تأتي الاستثناءات مثل !.vscode/settings.json بعد النمط العام .vscode/*.

*.log
النمط بدون شرطة مائلة يطابق على أي عمق داخل المستودع: يتجاهل كل ملف ينتهي بـ .log.
/build
الشرطة المائلة في البداية تقيد النمط بالمسار الذي يحتوي على .gitignore، مما يؤدي إلى تجاهل مجلد build في المستوى الرئيسي فقط.
dist/
الشرطة المائلة في النهاية تطابق المجلدات فقط ولا تطابق أي ملف عادي باسم dist.
**/temp
النجمتان تطابقان أي عدد من المجلدات المتداخلة: مجلد temp في المسار الرئيسي أو في أي مسار فرعي.
!.env.example
علامة التعجب في البداية تعيد تضمين ملف تم استبعاده بقاعدة سابقة. لا يمكن إعادة تضمين ملف إذا كان مجلده الرئيسي مستبعدًا بالكامل.
# تعليق
الأسطر التي تبدأ بـ # هي تعليقات؛ الأسطر الفارغة تعمل كفواصل. ضع شرطة مائلة عكسية قبل # أو ! لمطابقتها حرفيًا.

كيفية دمج القوالب وإزالة التكرار

يتحول كل قالب إلى قسم يحمل عنوان ### الاسم ###. عند تفعيل خيار إزالة الأنماط المكررة، يتم حذف الأنماط التي ظهرت في أقسام سابقة من الأقسام اللاحقة، وتُزال كتل التعليقات الفارغة ليظل الملف مختصرًا وواضحًا. يتم الاحتفاظ بأنماط الاستثناء المنفية في مواضعها للحفاظ على صحة منطقها.

غالبًا ما تتداخل قوالب أدوات البناء وأطر العمل — حيث يتجاهل كل من Node وNext.js وVite مجلد node_modules وملفات السجلات — وبالتالي فإن إزالة التكرار توفر عادةً خُمس أسطر الملف أو أكثر.

ملفات التجاهل: للمشروع، وعالمية، ومحلية

قم بتسجيل (commit) ملف .gitignore الخاص بالمشروع ليشاركه جميع أعضاء الفريق، مع قصر محتواه على الملفات التي ينتجها المشروع نفسه. أما الملفات الخاصة بجهازك الشخصي — مثل .DS_Store وThumbs.db ومجلدات محرر الكود — فيفضل وضعها في ملف تجاهل عالمي عبر الأمر git config --global core.excludesFile ~/.gitignore_global. وللقواعد الخاصة بك وحدك في مستودع معين، استخدم .git/info/exclude الذي لا يتم تسجيله أبدًا.

ملفات تثبيت الإصدارات مثل package-lock.json وpoetry.lock وCargo.lock للتطبيقات يجب تسجيلها في المستودع لضمان تثبيت نفس الإصدارات عبر كل البيئات. ولمعرفة القاعدة التي تتجاهل ملفًا معينًا، شغّل git check-ignore -v path/to/file.

احرص على إبقاء المفاتيح السرية بعيدة عن Git

يتجاهل قالب البيئة والبيانات السرية ملفات .env والمفاتيح الخاصة وملفات الاعتماد الشائعة مع الاحتفاظ بملف .env.example لتوثيق المتغيرات المطلوبة. تجنّب ملفات الأسرار يحمي الإيداعات المستقبلية فقط: إذا تم رفع مفتاح إلى المستودع سابقًا، قم بتغييره فورًا لأنه سيظل مسجلاً في تاريخ Git. أدوات ذات صلة: حاسبة chmod لأذونات الملفات وأداة إنشاء robots.txt للتحكم بزواحف الويب.

الأسئلة الشائعة

أين يجب أن أضع ملف .gitignore؟
في المجلد الرئيسي لمستودعك، بجوار مجلد .git مباشرة. يمكنك أيضًا إضافة ملفات .gitignore في المجلدات الفرعية لتطبيق قواعدها على تلك المجلدات تحديدًا.
لماذا يستمر Git في تتبع ملف بعد إضافته إلى .gitignore؟
ينطبق .gitignore فقط على الملفات غير المتتبعة مسبقًا. نفّذ الأمر git rm --cached <file> (أو git rm -r --cached <folder> للمجلدات) وأنشئ commit ليتوقف Git عن تتبعه دون حذفه من جهازك.
هل يجب أن أتجاهل package-lock.json أو yarn.lock؟
كلا، بالنسبة للتطبيقات يجب تسجيلها في المستودع. تضمن هذه الملفات تثبيت نفس إصدارات الحزم بدقة عبر جميع الأجهزة ويجب عدم تجاهلها.
هل ينبغي إدراج مجلدات .vscode أو .idea في .gitignore؟
الإعدادات الشخصية فقط في الغالب. يتجاهل قالب VS Code مسار .vscode/* ولكنه يبقي على settings.json وtasks.json وlaunch.json المشتركة؛ بينما يتجاهل قالب JetBrains كامل مجلد .idea.
كيف أتجاهل ملف .DS_Store في جميع مشاريعي؟
أضفه إلى ملف تجاهل عالمي: أنشئ ~/.gitignore_global يحتوي على .DS_Store وشغّل الأمر git config --global core.excludesFile ~/.gitignore_global.
كيف أتجاهل جميع محتويات مجلد باستثناء ملف واحد؟
تجاهل محتويات المجلد وليس المجلد نفسه، ثم استثنِ الملف المطلوب: اكتب folder/* متبوعًا بـ !folder/keep.txt في السطر التالي. كتابة folder/ تستبعد المجلد بأكمله ولا يمكن استثناء أي ملف بداخله.
من أين تأتي هذه القوالب؟
تم استخلاصها وتنقيحها من مستودع github/gitignore الرسمي المرخص برخصة CC0 بعد استبعاد الإدخالات القديمة. راجع النتيجة دائمًا للتأكد من مطابقتها لاحتياجات مشروعك.