شنبه, 23 ارديبهشت 1396 ساعت 13:17

عدم چشم پوشی از فایلها ignore شده

نوشته شده توسط

همانطور که می دانید با اضافه شدن گیت به پروژه، نرم افزار گیت هر گونه تغییر در فایلهای پروژه را ردیابی کرده و در صورت commit یا push کردن، تغییرات اعمال شده در فایل ها را ثبت می کند. گاهی ممکن است برای فایلهایی نیاز نداشته باشید تا تغییرات آنها به سایز مخازن یا به اصطلاح remote انتقال داده شود.

برای مثال در اکثر پروژه ها، ممکن است پوشه ای برای نگه داری فایل های اپلود شده و یا فایل هایی برای ذخیره اطلاعات دیتابیس داشته باشید. هرچند این فایلها جزیی از پروژه هستند ولی در صورتی که بر روی بیش از یک سیستم بر روی پروزه، کار شود و هر سیستم تنظیمات و فایل های مختص خود را داشته باشد، انتقال تغییرات یک سیستم به سیستم های دیگر کار درست و معقولی به نظر نمی رسد.

ابزاری که گیت برای این مظور در نظر گرفته استفاده از فایل های .gitignore است که شامل لیست تمام فایل ها و فولدرهایی است که تغییرات آنها باید چشم پوشی شود (یا نشود). در حالت ساده، فایل هایی نام آنها در این فایل ثبت شده باشند، در صورت تغییر یافتن یا ویرایش در حین توسعه یا استفاده، توسط گیت ترک نشده و چشم پوشی می شوند. برای مثال برای فایل حاوی اطلاعات دیتابیس، کافیست نام (شامل مسیر فایل در پروژه) در فایل .gitignore ثبت شود تا تغییرات بعدی آن فایل توسط گیت چشم پوشی شوند.

مشکلی که اخیرا برای من رخ داد این بود که هرچند فایل دیتابیس در فایل .gitignore ثبت شده بود ولی با هر تغییر در این فایل، تغییرات همچنان توسط گیت ثبت و ردیابی می شد.

راه جل این مشکل سه خط دستور گیت برای حذف کش بود:

 

git rm -r --cached .
git add .
git commit -m "fixed untracked files"
خواندن 83 دفعه آخرین ویرایش در شنبه, 23 ارديبهشت 1396 ساعت 13:48

نظر دادن

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.