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

الکی که نیست
الکی که نیست

خب اول سلام

میخوام تو اولین مقالم درباره ی برنامه نویسی اتفاقا درمورد یکی از اولین چیز هایی که یه برنامه نویس باید یاد بگیره باهات صحبت کنم و اون چیزی نیست جز جناب git !


چرا git زیباست ؟

دیدی وقتی که داری رو یه پروژه ای کار میکنی که حالا شاید اصن به برنامه نویسی هم ربط نداشته باشه (یینی دارم غیر مستقیم میگم که لزوما برنامه نویس لازم نیست باشی تا از git استفاده کنی) وقتی یکم که جلو میری یه جایی از کامپیوترت یه فولدری درست میکنی مثلا به اسم version1 که تا اونجا که کارکردی رو توش کپی میکنی و مثلا ازش یه نسخه پشتیبان میگیری ، بعد یه مدت با یه چنین وضعی مواجهی

((((((((:
((((((((:

درصورتی که اگر از git استفاده کنی اصن چنین مکافاتی نداری ! و کلی امکانت دیگه مثلا اینکه شما میتونید چند نفره رو یه پروژه کار کنید و هیچی هم قاطی پاتی نشه و همه چیز شفاف باشه که کی چی رو چه زمانی به پروژه اضافه کرده و یا مثلا این امکان رو بهتون میده که هر وقت خواستین برگردین به فلان نسخه از پروژه تون و کلی چیزای دیگه و البته که اگر برنامه نویسید بدون بلد بودنش جایی راتون نمی دن :)))




خب اول بیا چندتا مفهوم ساده رو باهم مرور کنیم . ببین ما یه چیزی داریم به اسم repository که درواقع مخزنی هست که توش پر از کد و این چیزاست که ما یا داریم کد ازش میگیرم یا داریم کدای جدیدی رو که زدیم می ریزیم توش و اصطلاحا کدمون رو commit میکنیم و حالا یسری سایت هستن مثل github.com و یا gitlab.com که پر از این مخزن ها هستن که ملت میان توشون یسری پروژه درست میکنن ( این پروژه ها یجورایی همون مخزن ها میشن ) و نکته جذابش اینه که بقیه برنامه نویسا می تونن بیان و این پروژه ها رو تکمیل کنن و بهشون چیز میز اضافه کنن که بهشون میگیم contributor و یهو میبینید که برا پروژه های خفن و باحال کلی contributor از سراسر دنیا دارن کمک میکنن به توسعه اش


خب اگر هنوز git رو نصب نکردی ، میتونی بری اینجا ، برات نوشتم چیکار باید بکنی


اولین دستور ، دستور اماده سازی یا همون initialize کردن اون فولدری هست که پروژه ات توشه

git init

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


خب فرض کن که ما یه فایل جدید رو به این فولدر اضافه کردیم یا تو یکی از فایل هایی که تو اون فولدره بوده یسری کد جدید نوشتیم و دوس داریم که از طریق git به repository مون بگیم که اقا این فعالیتمون رو میخوایم بریزیم توت ! حالا باید چیکار کنیم ؟

ببین یادت باشه که ما از طریق دستور add

git 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 b3b9f4f26c5fa0e89a81e20c2af6860ab11bd79c
Author: arfa <[email protected]>
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 هست و اینکه خیلی خوش حال شدم که نشستی و این مقاله رو خوندی ، لطفا هر سوالی داشتی حتی بدیهی ترین هارو هم بپرس اینجا و اینکه

بخخخخند =)))))


اگر با مقاله یا خودم حال کردی لایک یادت نره ها =)))))


تلگرام من : [email protected] که اگر کاری داشتی بهم بگو ;)


راستی قسمت دوم اموزش اینجا

و قسمت پایانی اموزش اینجا