قسمت اول – معرفی گیت
سلام به روی ماه همتون. حالتون خوبه؟ قطعاً تو این اوضاع سخت که کرونا و جنگ و کلی خبر بد احاطه کرده، نیازه که بیشتر هوای همدیگه رو داشته باشیم، برا همین تصمیم گرفتیم یه ابزار خیلی مفید که شاید خیلیاتونم آشنا هستید رو باهم پیش بریم…
صبورانه همراه ما باشید.
معرفی گیت
براتون پیش اومده یک پروژهای رو شروع کردید و لحظاتی بوده که مجبور بودید یه کپی ازش بگیرید؟! بعد کلی تغییرات اعمال کردید و مجدد کپی انگاری دچار یک چرخه باطل شدی …
تازه اگه سیستمم بپره چی؟! اگه کارفرما تو پروژه تغییرات داده باشه چی؟ اگه نیاز داشتید با آدمهای مختلف تو دنیا کار کنی چیکار میکنی؟ چجوری تقسیم پروژه میکنی؟ چجوری نسخههای بدون باگ کجان؟ اگه داری سخت افزارتو تکمیل میکنی و شماتیک های مختلف؟ کتاب مینویسی و ویرایشهای متعدد چی؟
نرم افزارهایی ساخته شده که پروژه شما رو مدیریت کنه (البته به کمک شما) که به آنها version control /source code management میگویند. که نرمافزارهای مدیریت کد به ۲ دستهٔ distributed و centeralized تقسیم میشوند:
دسته اول centeralized یا مرکزی: مانند CVS که در این دسته نرمافزار یک server و تعدادی client وجود دارد. به این صورت که تمامی تغییرات در server ذخیره میشود و کاربران (برنامهنویسها) با استفاده از client تغییرات جدید را اعمال/دریافت میکنند.
دسته دوم distributed یا توزیع شده: مانند GIT در این دسته server حذف شده است و هر فرد میتواند یک server باشد و تاریخچهٔ کامل را در اختیار دارد. در این دسته تغییرات میتواند بدون در اختیار داشتن ارتباط انجام شود.
نگران نباشید در ادامه به بیشتر آشنا خواهیم شد..
بی شک یکی از نوابغ دنیای برنامه نویسی آقای لینوس توروالدز که هسته لینوکس را به ما هدیه کرد او ابتدا برای توسعه کرنل لینوکس از نرم افزارهایی مانند bitkeeper استفاده کرد که پس از مدتی مشکلاتی به وجود آمد به همین دلیل درسال 2005 منجر شد تا توروالدز خود دست به کارشده و با الهام از بیت کیپر، گیت را خلق کند. و از سال 2015 مدیریت و پشتیبانی گیت رو با تعریف از Junio C Hamano که یکی از مهندسان گوگل هست واگذار کرد.
با توجه به اینکه کاربرد این نرم افزارهای مدیریت یکسانه، دستورات مشابهی هم دارند.
- init: ساخت مخزن جدید برای ذخیرهٔ تغییرات در آن.
- checkout / pull / fetch: دریافت اطلاعات از مخزن و ساخت working tree.
- switch branch: جا به جایی میان شاخههای مختلف توسعه.
- add / delete / rename: انجام تغییرات روی پروندههایی که SCM آنها را پیگیری میکند.
- commit: ذخیرهٔ دستهای از تغییرات که ممکن است در پروندههای مختلف باشد.
- status: نمایش وضعیت کنونی پروندههای پروژه.
- diff: نمایش تغییرات انجام شده.
- log: نمایش تاریخچهٔ تغییرات.برای نمونه در هر دو نرمافزار آپاچی سابورژن و گیت دستور log وجود دارد و به صورت svn log و git log مورد استفاده قرار میگیرد.
پس به چه دلیل ما گیت را انتخاب کردهایم؟ (نمودار کوچکتر، یعنی سریعتر است).
برای دانلود میتوانید به سایت گیت مراجعه کنید و نسخه موردنظر رو با توجه به سیستم خودتون دانلود و نصب کنید که من در ویندوز 10 پیش خواهم رفت.
پس از نصب انتظار میره که داخل cmd اگر دستور git رو تایپ کردید براتون یه توضیحاتی بیاره:
همچنین بخوانید:
از گیت نترسید، در اختیارش بگیرید!
آموزش های عمو جادی
عمو جادی عزیز، دوره آموزشی برای گیت داره که در قسمت اول اون، از معرفی گیت و مقدماتش تا نصب اون رو براتون توضیح میده.
برای ثبت نام رایگان توی دوره گیت جادی هم می تونید از این لینک ثبت نام کنید.
تا جلسه بعدی شاد و پیروز باشید.