گیت... قدم دوم

سلام اشکان هستم و این دومین پست از سری آموزش‌های گیت هست، پست قبلی یک مقدمه بود برای کسانی که اصلا نمیدونستن سورس کنترل چیه و با گیت کار نکرده بودند... این پست هم مناسب کسی که در حال حاضر با گیت کار میکنه نیست و قاعدتا چیزی به معلوماتش اضافه نمیکنه اما از اونجا که همه پست‌های من جزئی از یک پروسه کلی به نام برنامه نویسی موفق هستند که قراره با کسانی که من رو دنبال میکنند به یک پروژه خیلی پیچیده برسیم پیشنهاد میکنم که کانال یوتوب من رو فالو کنید تا از ویدیو‌های جدید با خبر باشید.خوب اگر این پست رو میخونید قاعدتا گیت رو نصب کردید و از طریق ترمینال به گیت دسترسی دارید اگر نصب نکردید میتونید پست قبلی من رو بخونید و یا ویدیوی کوتاه من درباره نحوه نصب گیت در ویندوز رو ببینید(اگر از مک او اس یا لینوکس استفاده میکنید گیت رو به صورت built-in پشتیبانی میکنند) https://virgool.io/@ashcan/%D8%A8%D8%A7-%DA%AF%DB%8C%D8%AA-%D8%A7%D9%81%D8%B3%D8%A7%D8%B1%D9%90-%DA%A9%D9%8F%D8%AF-%D8%B1%D9%88-%D8%A8%DA%AF%DB%8C%D8%B1-%D8%AA%D9%88-%D8%AF%D8%B3%D8%AA%D8%AA-u3symzyln7od توی این پست میخوایم ببینیم کسی که سالهاست با گیت کار میکنه چطور سورس همه پروژه‌هاش و حتی کدهای کوچیکش رو بوسیله گیت کنترل میکنه برای همین اول باید ببینیم گیت چیه:A Distributed Version Control Systemبیاید اول درک کنیم این یعنی چی بعد بریم سراغ کارهای عملی... سوالی که شاید پیش اومده باشه براتون اینه که مگه تا حالا نمیگفتی Source control؟ چی شد یک دفعه حالا شد version control؟ واقعیت اینه که این دو اصطلاح خیلی به هم نزدیک هستند اما یک نکته باعث تمایز اونها میشه.اصطلاح سورس کنترل برای وقتی استفاده میشه که ما فقط با فایل‌های متنی سر و کار داریم و ورژن کنترل وقتی استفاده میشه که قراره باینری‌ها و همینطور سایر assetهای یک پروژه رو هم تحت نظر بگیریم و تغییراتشون رو ثبت کنیم. در واقع گیت این کار رو هم برامون انجام میده و میتونه انواع متعلقات پروژه ما رو به همراه سورس کد watch کنه... چه عالی پس تا اینجا خیلی هم باحاله... اما اون distributed یعنی چی؟ بیاید یک مثال بزنیم:اگر شما به تنهایی روی یک پروژه کار میکنید و روی سیستم خودتون سورس پروژه رو هم یا از این به بعد بهتره که بگیم ورژن پروژه تون رو هم کنترل میکنید شما در واقع نیاز به یک سیستم centralized (متمرکز) دارید (احتمالا) ولی اگر یک تیم هستید و هرکدوم شما دارید روی قسمتی از پروژه ای کار میکنید که داره version control میشه نیازه که پروژه روی یک سرور باشه و هرکدوم از شما اصطلاحا یک clone (یک جور کپی) از اون پروژه رو روی سیستم خودتون داشته باشید به شکلی که اون دایما بتونه خودش رو با پروژه اصلی که روی سروره سینک کنه (تغییرات خودش رو به اون اطلاع بده یا از تغییراتی که دیگران میدن باخبر بشه) به این سیستم میگن یک سیستم distributed (در لغت یعنی توزیع شده) پس گیت میتونه به شما امکان این رو بده که سورس کد و همه متعلقات (assetهای) پروژه تون رو اصطلاحا دیستریبیوت کنید.یعنی میشه که من همه اینها رو گفته باشم و شما باز یک پروژه حتی خیلی کوچیک رو بدون گیت استارت کنید؟!اوکی فعلا تئوری و حرف بسه... بیاید با هم ببینیم یک برنامه‌نویس چطور با گیت کار میکنه... همونطور که بالا توضیح دادم از اینجا به بعد رو شما از طریق ویدیو نگاه میکنید چون هم برای شما درکش راحت‌تر میشه و هم برای من توضیحش. توی این ویدیو شما قراره یاد بگیرید که چطور گیت رو کانفیگ کنید و چطور با ۵ دستور ساده اکثر کارهای روتین شما میتونه راه بیفته... توی قسمت بعدی اما قراره یاد بگیریم چطور مشکلاتی که موقع کار کردن با گیت باهاشون ممکنه مواجه بشیم رو حل کنیم و ۵ تا دستور حرفه‌ای‌تر و باحال‌تر رو یاد میگیریم. https://youtu.be/3YQXJ5n9qD8 خوب انتظار میره که اگر اینجا هستید ویدیو رو دیده باشید و پنج دستور اولیه گیتُ یاد گرفته باشید:git statusgit checkout -b <branch>git add <File>git commit -m "your commit message here"git logلطفا اگر از آموزش ویدیویی خوشتون اومده لایک و سابسکرایب کنید چون این برای من یک معیار محسوب میشه که این کار رو ادامه بدم یا نه. در واقع تصمیم دارم اگر ماهی ۱۰۰ نفر سابسکرایب نداشته باشم فقط از طریق ویرگول ادامه بدم یا وقت کمتری برای ادیت ویدیو بگذارم.ممنون و منتظر پست روز بعد باشید