ساخت فایل .gitignore
ساخت فایل .gitignore با ترکیب قالبهای زبان، فریمورک، IDE و سیستمعامل؛ بدون قانون تکراری، با قوانین سفارشی و دانلود مستقیم.
# برای ساختن .gitignore، الگوهای بالا را انتخاب کنید
دربارهٔ این ابزار
ساخت فایل .gitignore با ترکیب قالبهای آماده
هر پروژه فایلهایی دارد که نباید وارد گیت شوند: پوشههای وابستگی مثل node_modules، خروجیهای build، فایلهای تنظیمات ویرایشگر، فایلهای سیستمعامل و مهمتر از همه فایلهایی مثل .env که اطلاعات محرمانه دارند. با ابزار ساخت فایل .gitignore تولتولیا کافی است زبان، فریمورک، ویرایشگر و سیستمعامل پروژه را انتخاب کنید تا یک فایل .gitignore یکپارچه، مرتب و بدون قانون تکراری ساخته شود.
فایل .gitignore چیست؟
فایل .gitignore یک فایل متنی در ریشهی پروژه است که به گیت میگوید کدام فایلها و پوشهها را نادیده بگیرد و وارد مخزن نکند. هر خط این فایل یک الگو است و فایلهایی که با آن الگو مطابقت دارند، در git status نمایش داده نمیشوند و با git add اضافه نمیشوند.
ویژگیهای ابزار
- ترکیب چند قالب: زبانها، فریمورکها، IDEها و سیستمعاملها در یک فایل.
- حذف خودکار قوانین تکراری.
- بخشبندی خروجی: هر قالب با یک توضیح جداگانه در فایل مشخص میشود.
- قوانین سفارشی: مسیرهای اختصاصی پروژه در انتهای فایل اضافه میشوند.
- جستجوی سریع بین قالبها.
- کپی یا دانلود فایل .gitignore.
- رایگان و بدون ثبتنام.
آموزش استفاده
- قالبهای مربوط به پروژه را انتخاب کنید؛ مثلاً Node.js، React و VS Code و سیستمعاملهای اعضای تیم.
- اگر فهرست طولانی است، از کادر «فیلتر کردن قالبها» برای پیدا کردن سریع قالب استفاده کنید.
- مسیرهای اختصاصی پروژه را در «قوانین سفارشی» وارد کنید؛ هر قانون در یک خط.
- خروجی را کپی کنید یا دانلود کنید و فایل را با نام
.gitignoreدر ریشهی پروژه قرار دهید.
نحو فایل .gitignore
الگومعنی*.logهمهی فایلهای با پسوند log در هر پوشهایnode_modules/پوشهای با این نام، در هر جای پروژه/buildفقط build در ریشهی پروژه**/tempهر پوشه یا فایل temp در هر عمقی!important.logاستثنا؛ این فایل نادیده گرفته نشود# توضیحخطی که با # شروع شود، توضیح است
چرا .gitignore کار نمیکند؟
رایجترین دلیل این است که فایل پیش از اضافه شدن به .gitignore، به گیت اضافه و commit شده است. گیت فایلهایی را که قبلاً ردیابی میکند، حتی بعد از اضافه شدن به .gitignore همچنان دنبال میکند. برای حل این مشکل، فایل را از ردیابی گیت خارج کنید (بدون اینکه از روی دیسک حذف شود):
git rm --cached .env git commit -m "Stop tracking .env"
برای یک پوشه، از گزینهی -r استفاده کنید؛ مثلاً git rm -r --cached node_modules. دلایل دیگر میتواند اشتباه در نام فایل (باید دقیقاً .gitignore باشد، نه gitignore.txt) یا اشتباه در الگو باشد.
هشدار امنیتی: فایل .env و اطلاعات محرمانه
فایلهایی مثل .env که رمزها، کلیدهای API یا اطلاعات اتصال به پایگاه داده دارند، هرگز نباید وارد گیت شوند. اگر چنین فایلی را قبلاً به یک مخزن عمومی push کردهاید، حذف آن در commit بعدی کافی نیست، چون در تاریخچهی گیت باقی میماند. در این حالت، همهی رمزها و کلیدهای موجود در آن را فوراً عوض کنید.
.gitignore سراسری
فایلهایی مثل .DS_Store مک یا پوشهی تنظیمات ویرایشگر شما به همهی پروژههایتان مربوط هستند. میتوانید آنها را یک بار در یک فایل .gitignore سراسری روی سیستم خودتان قرار دهید:
git config --global core.excludesfile ~/.gitignore_global
کاربردهای ابزار
- ساخت .gitignore برای مخزن جدید پیش از اولین commit.
- اضافه کردن قالب یک ویرایشگر یا ابزار جدید به پروژهی موجود.
- ساخت .gitignore برای پروژههای ترکیبی، مثل بکاند Python و فرانتاند React.
- یکدست کردن .gitignore در پروژههای یک تیم.
برای ساخت README پروژه از ساخت فایل README.md و برای فایلهای پیکربندی از تبدیل YAML به JSON تولتولیا استفاده کنید.
سؤالات متداول
اگر دو قالب قانون مشترک داشته باشند چه میشود؟
خطوط کاملاً تکراری بهطور خودکار حذف میشوند؛ مثلاً ترکیب Node.js و React فقط یک قانون node_modules/ ایجاد میکند.
آیا انتخاب قالب سیستمعامل لازم است؟
اختیاری است، اما در کار تیمی توصیه میشود؛ تا فایلهایی مثل .DS_Store در مک یا Thumbs.db در ویندوز بهاشتباه commit نشوند.
چطور فقط یک قالب به .gitignore موجود اضافه کنم؟
فقط همان قالب را انتخاب کنید و خروجی را به انتهای فایل .gitignore فعلیتان اضافه کنید. هر بخش خروجی یک توضیح جداگانه دارد تا جدا کردنش آسان باشد.
چرا فایلی که به .gitignore اضافه کردم هنوز در گیت دیده میشود؟
چون قبلاً توسط گیت ردیابی شده است. با دستور git rm --cached آن را از ردیابی خارج کنید و سپس commit کنید.
اگر فریمورک من در فهرست نبود چه کنم؟
قالب نزدیکترین زبان را انتخاب کنید و مسیرهای اختصاصی فریمورک را در کادر «قوانین سفارشی» اضافه کنید.
