بیا Git ات رو قورت بده ;)

الکی که نیست خب اول سلاممیخوام تو اولین مقالم درباره ی برنامه نویسی اتفاقا درمورد یکی از اولین چیز هایی که یه برنامه نویس باید یاد بگیره باهات صحبت کنم و اون چیزی نیست جز جناب git !چرا git زیباست ؟دیدی وقتی که داری رو یه پروژه ای کار میکنی که حالا شاید اصن به برنامه نویسی هم ربط نداشته باشه (یینی دارم غیر مستقیم میگم که لزوما برنامه نویس لازم نیست باشی تا از git استفاده کنی) وقتی یکم که جلو میری یه جایی از کامپیوترت یه فولدری درست میکنی مثلا به اسم version1 که تا اونجا که کارکردی رو توش کپی میکنی و مثلا ازش یه نسخه پشتیبان میگیری ، بعد یه مدت با یه چنین وضعی مواجهی ((((((((:درصورتی که اگر از git استفاده کنی اصن چنین مکافاتی نداری ! و کلی امکانت دیگه مثلا اینکه شما میتونید چند نفره رو یه پروژه کار کنید و هیچی هم قاطی پاتی نشه و همه چیز شفاف باشه که کی چی رو چه زمانی به پروژه اضافه کرده و یا مثلا این امکان رو بهتون میده که هر وقت خواستین برگردین به فلان نسخه از پروژه تون و کلی چیزای دیگه و البته که اگر برنامه نویسید بدون بلد بودنش جایی راتون نمی دن :)))خب اول بیا چندتا مفهوم ساده رو باهم مرور کنیم . ببین ما یه چیزی داریم به اسم repository که درواقع مخزنی هست که توش پر از کد و این چیزاست که ما یا داریم کد ازش میگیرم یا داریم کدای جدیدی رو که زدیم می ریزیم توش و اصطلاحا کدمون رو commit میکنیم و حالا یسری سایت هستن مثل github.com و یا gitlab.com که پر از این مخزن ها هستن که ملت میان توشون یسری پروژه درست میکنن ( این پروژه ها یجورایی همون مخزن ها میشن ) و نکته جذابش اینه که بقیه برنامه نویسا می تونن بیان و این پروژه ها رو تکمیل کنن و بهشون چیز میز اضافه کنن که بهشون میگیم contributor و یهو میبینید که برا پروژه های خفن و باحال کلی contributor از سراسر دنیا دارن کمک میکنن به توسعه اش خب اگر هنوز git رو نصب نکردی ، میتونی بری اینجا ، برات نوشتم چیکار باید بکنیاولین دستور ، دستور اماده سازی یا همون initialize کردن اون فولدری هست که پروژه ات توشهgit initببین در واقع داریم میگیم که جناب git حواست باشه از این به بعد میخوام تو این فولدر از git استفاه کنم . اینم یادت باشه که تمام دستورات git اینطوریه که اول باید بنویسیم git و بعد اون دستور خاص رو بگیمخب فرض کن که ما یه فایل جدید رو به این فولدر اضافه کردیم یا تو یکی از فایل هایی که تو اون فولدره بوده یسری کد جدید نوشتیم و دوس داریم که از طریق git به repository مون بگیم که اقا این فعالیتمون رو میخوایم بریزیم توت ! حالا باید چیکار کنیم ؟ببین یادت باشه که ما از طریق دستور addgit add . یا git add -Aمیگیم که اقای git شما اون فایل هایی رو که ما ساختیم رو ادم حساب کن از این به بعد و درواقع داریم اون ها رو از حالت untracked در میاریم . یه موقع ای هم هست یه فایل ادم حساب میشه و ما توش یه تغییر جدید دادیم یا یه کدی بهش اضافه کردیم ، اگر بخوایم که git به ما اجازه بده که این تغییرات رو بریزیم تو مخزنمون باید اون ها رو هم add کنیم و به اصطلاح اونا رو از حالت stage دربیاریم . بعد از add اسم فایل مورد نظرت رو بنویس یا با استفاده از دستورات بالا همه فایلایی که نیاز هست رو add کنخب حالا دیگه همه چیز برای commit کردن مهیا شده و میتونی از طریق دستورgit commit -m ' your commit message 'همه اون چیز هایی رو که add کردی رو دیگه بریزی تو مخزنت . تو هر بار commit کردن ما یه پیامی هم مینویسیم که در واقع توضیح میده که ما چی رو ریختیم تو مخزنمون و درنهایت میای push میکنیgit push origin masterحواست باشه که تا وقتی که push نکنی عملا چیزی به مخزنت اضافه نمی شه ! پس یادت نرهنکته : میگن همیشه تند تند کامیت کنید ! بله دیگه ، اخه ببین یکی از بیشترین استفاده های گیت اینه که ما وقتی به مشکل میخوریم تو کدمون برمیگردن یه نگاهی می ندازیم ببینیم که کیا چیا رو کامیت کردن و پیدا میکنیم که مشکل ار کجا شروع شده حالا اگر تو هر کامیت شونصدتا کار کرده باشیم اول اینکه سخت میشه بررسی کردنش و دوم اینکه اگر بخوایم کدمون رو برگردونیم به اون کامیت خاص کلی چیز دیگه که اصن ربطی ندارن هم برمیگردن و حسابی میخوره تو حالمون :/ با استفاده از دستور git statusمیتونی ببینی وضعیت فایل هات به چه صورت مثلا اینکه کدوموشان add نشدن یا کدوموشان الان تو حالت stage هستن .دستور بعدی log هست که git logمی تونید ببینید که تا الان تو مخزنت چه کامیت هایی انجام شده مثلاcommit b3b9f4f26c5fa0e89a81e20c2af6860ab11bd79cAuthor: arfa <a----x.dev@gmail.com>Date: Thu Mar 7 11:34:06 2019 +0000 adding new database حالا فرض کن که میخوای اخرین تغییراتی که توسط هم گروهیات یا توسط خودت از یه کامپیوتر دیگه رو مخرن اتفاق افتاده رو بگیری ، میای و دستور git pullرو میزنی که میاد اخرین تغیرراتی که کدای مخرن با انچه که در حال حاضر رو کامپیوتر تو هست رو میگیره و به پروژه ات اضافه میکنه . حالا یه وقتی هست که تو اصن هیچ پروژه ای رو کامپیوترت نداری و میخوای بری کل پروژه رو از رو یکی از اون سایتایی که گفتم یا یه مخزنی تو یه جای دنیا بگیریgit clone https://github.com/Microsoft/AI.gitاز دستور clone باید استفاده کنی و بعدشم ادرس اون پروژه رو باید بنویسی ، جناب git میره و عین هلو برات اون پروژه رو میگیره و دانلود میکنه و در اختیارت میذارهخب قسمت اول اموزش رو فک کنم زیبا باشه که همینجا تموم کنیم . اول از همه از جناب Linus Torvalds به خاطر ساختن git تشکر میکنیم ، زندگیمون رو زیباتر و راحت تر کردن . از جادی هم کلی تشکر میکنم که ویدیو هاش منبع من برا نوشتن این سری از اموزش های git هست و اینکه خیلی خوش حال شدم که نشستی و این مقاله رو خوندی ، لطفا هر سوالی داشتی حتی بدیهی ترین هارو هم بپرس اینجا و اینکه بخخخخند =))))) اگر با مقاله یا خودم حال کردی لایک یادت نره ها =))))) راستی قسمت دوم اموزش اینجاو قسمت پایانی اموزش اینجا