برنامه نویس فرانت ( ریکت )
من و git و اندروید
حتما یه برنامه نویس خوب از git استفاده میکنه و " یه برنامه نویس بدون git یه برنامه نویس مرده است "
مطالب زیادی میشه در مورد git تو نت پیدا کرد ولی دونستن بعضی از نکات ساده خالی از لطف نیست . خصوصا که این یافته پس از کلنجار یکی دو ساعته بدست بیاد .
آقا ما اومدیم یه پروژه قدیمی رو ریفکتور کنیم و مثل همیشه از android studio مستقیم share کردیم روی github و همه چی عالی . بعد یه سری تغییرات اومدم commit کنم دیدم ، الا ماشالله فایل تغییر یافته چقدر زیاده .
یه بررسی اولیه کردم دیدم به به git اومده همه پوشه های build و .gradle رو هم تحت کنترل خودش گرفته . یعنی هر فایلی اونجا هست رو هم خواست بریزه روی repo سرور !!
اون زمان فرصت نداشتم و مجبور شدم بزنم بره و کلی وقت ما رو گرفت تا 60 مگ فایل رو اپلود کنه . بعد از مدتی که فرصت کردم یه سرچی زدم ببینم اشکال کار کجاست و به تجربیات زیر رسیدم :
حذف کنترل git از پروژه :
باید اول از همه یه کاری میکردم که git بیخیال این پروژه بشه . راهش ساده است . برید تو پوشه پروژه و پوشه .git رو حذف کنید .
اندروید استودیو خودش یه پیغام میده که git اشکال داره و باید config کنید
که میرید ( یا روی لینکش کلیک کنید خودش میره ) تو قسمت version control در تنظیمات و کافیه اونجا هم git رو حذف کنید و تمام ، git بیخیال پروژه میشه و میره خونه خودش !
اضافه کردن دوباره پروژه به git :
این که روش تو تصویر زیر مشخصه . فقط قبلش یادتون باشه repo تو github رو حذف کنید تا همه چی از اول ساخته بشه .
انتقال فایل های اصلی پروژه :
یه فایل text ساده تو پروژه ها هست با نام gitignore .
این فایل به git میگه بیخیال چه فایل و پوشه هایی بشه . معمولا هم متن داخلش برای همه میتونه یکسان باشه ولی بسته به تشخیص شما میتونید چیزی روش اضافه کنید . دلیل اینکه پروژه من همه اون پوشه ها رو کنترل میکرد این بود که این فایل رو نداشتم . با اضافه کردنش همه چیز درست شد و فقط فایل اصلی پروژه تحت کنترل قرار گرفت .
سوالی هم که باقی میمونه اینه که چرا باید git بیخیال این پوشه ها بشه ؟ چون این پوشه ها در هر سیستمی که قرار بگیرن خودشون بصورت اتوماتیک ساخته یا دانلود میشن و نیاز نیست شما همراه پروژه تون انتقالش بدید
منبع : تجربيات يك برنامه نويس
مطلبی دیگر از این انتشارات
لی اوت در اندروید ۱۱ : آشنایی با ConstraintLayout
مطلبی دیگر از این انتشارات
پشتیبانی اپ های موبایلی
مطلبی دیگر از این انتشارات
پیادهسازی Deferred DeepLinkها