ذخیره کردن تمام branch در فایل زیپ؛ آموزش گیت یا همان git

در این مطلب قصد دارم تجربه ی خودم را در رابطه با git در اختیار شما قرار دهم.علاوه بر اینکه ممکن است به یاری فرد دیگری آید، با ثبت شدن در اینجا برای خودم نیز می ماند!

اصلا گیت چیست؟

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

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

بعلاوه یکی دیگر از استفاده های git زمانی می باشد که برنامه را در هاست یا سرور آپلود کرده اید و پس مدتی هنگامی که باگ های احتمالی را رفع کرده باشید، به شما کمک خواهد کرد که فقط فایل هایی که مورد تغییر قرار گرفته اند را به هاست/سرور منتقل کیند. اما چگونه؟

چگونه آخرین فایلهای commit شده در گیت را zip کینم؟

همان طور که اشاره شد فرض بر این است که به هر دلیلی من جمله آپلود آخرین تغییرات برنامه در هاست/سرور نیاز به فایل هایی که تغییر کرده اند دارید. در این صورت با اسفاده از تاریخچه ی آخرین commit می توانید نام فایل ها را بدست آورده و یک به یک در هاست آپلود کنید. اما راه ساده تر این است که از کد زیر استفاده کنید!

کد ذکر شده تمام فایل هایی جدید ( –dif-filter=A ) و فایل هایی که تغییر کرده اند ( –dif-filter=M ) را با حفظ ساختار فایلی در فایل changes.zip ذخیره خواهد کرد.

head^ head به معنای آن است که تنها تغییرات این commit با commit قبلی بصورت فایل زیپ در آورده شود.

در صورتی که تغییرات کامیت فعلی با n کامیت قبلی را بخواهید کد بالا به این صورت خواهد شد

در مواقعی مثل اولین آپلود ، که می بایست تمامی فایل ها در هاست آپلود گردد لازم است تا تمام Branch ( شاخه ) بصورت فایل زیپ در دسترس باشد، در اینصورت از این کد استفاده کنید.

master : نام شاخه( که در اینجا شاخه ی master مد نظر ماست)
master.zip : نام فایل زیپ

 

0

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *