Git فوق العادس! قبلا مطالبی مثل حذف فایل های اضافه در پروژه بوسیله Git، بهترین کلاینت های کار با Git و استفاده از PowerShell ویندوز برای کار با Git در رابطه با آن نوشتم. اما امروز قصد دارم در مورد یکی از کارهایی که احتمالا به آن نیاز پیدا خواهید کرد یعنی گرفتن یک خروجی از پوشه Git برای ارائه به مشتری و یا استفاده در محصول نهایی صحبت کنم.
احتمالا شرایط مطلوبی که در ذهن دارید یک خروجی تر و تمیز در قالب یک فایل فشرده هست.
خبر خوب اینکه انجام این فرآیند بسیار ساده و سریع امکان پذیر است. کافیست عبارت زیر را در خط فرمان Git خود زمانی که در پوشه پروژه مذکور هستید، وارد نمائید:
git archive master --format=zip --output=../myproduct-22-11-2014.zip
بوسیله این دستور، خیلی سریع یک فایل فشرده با فرمت Zip در یک پوشه قبل از پوشه پروژه تان با نام myproduct-22-11-2014.zip
ایجاد می شود که حاوی فایل های پروژه تان هست. جایی که خبری از پوشه خود git نیست و تنظیماتی که در فایل gitignore قرار داده اید نیز در آن لحاظ شده است.
اطلاعات بیشتر را در رابطه با این دستور را می توانید در این آدرس مشاهده کنید.
اما موردی که ممکن است بعد از مشاهده فایل خروجی با آن برخورد کنید وجود فایل .gitignore
در فایل فشرده موجود هست. حتی ممکن است فایل هایی را در پروژه خود داشته باشید که نخواهید در خروجی نهایی آن ها لحاظ شوند. تکلیف چیست؟
پاسخ اینبار هم بسیار ساده است: ایجاد فایلی با نام .gitattributes
برای حذف فایل ویا پوشه هایی از خروجی نهایی در فایل فشرده این فایل را در کنار فایل gitignore خود ایجاد نموده و به مانند زیر آدرس فایل و یا پوشه هایی که می خواهد را اضافه کنید:
.gitattributes export-ignore
.gitignore export-ignore
پس از کامیت آن، دستور بالا را مجدد اجرا کنید (اطلاعات بیشتر در مورد این فایل).