هیچ دوره ای در سبد خرید شما وجود ندارد
Git متداولترین سیستم سورس کنترل است. Git نرم افزاری است که به صورت محلی اجرا شده و پروندهها و تاریخچه آنها را در رایانه شما ذخیره میکند. با این وجود دیگر نگران از دست دادن اطلاعات و سورس کد های خود نخواهید بود. با استفاده از گیت همچنین میتوانید از گیت هاب GitHub برای ذخیره یک کپی از پروندهها و سابقه ویرایش آنها استفاده کنید. بستری جذاب برای برنامه نویس ها برای به اشتراک گذاشتن سورس خود با دیگران و استفاده از سورس دیگران و تجریه های برنامه نویسی آن ها است.
Git میتواند تغییرات را به طور خودکار ادغام کند، به عنوان مثال دو نفر میتوانند در قسمتهای مختلف یک فایل کار کنند و بعدا بدون تغییر کار یکدیگر، آن تغییرات را ادغام کنند! بنابراین صرف نظر از اینکه شما کدی را به تنهایی مینویسید یا در قالب یک تیم کار میکنید، آموزش جامع Git برای شما مفید خواهد بود.
مطالب مهمی که در دوره آموزش Git فرا میگیرید؟!
- آشنایی کامل با مفهوم و فلسفه سورس کنترلها (Source controls) و دلایل مهندسی نرم افزاری برای استفاده از آنها
- بررسی انواع و تاریخچه سورس کنترلها (متمرکز، توزیع شده)
- تاریخچه گیت و مزیتهای استفاده از آن را فرا خواهید گرفت.
- مفاهیم اولیه در گیت، نظیر نصب و ساخت ریپازیتوری و … را فرا خواهید گرفت.
- پیکربندی و تنظیمات در گیت برای معرفی خودمان به گیت را فرا خواهید گرفت.
- با فازهای اساسی گیت آشنا خواهید شد.
- Working tree یا Working directory
- Indexing یا Staging
- Repository
- اضافه کردن بخشی از یک فایل به فاز staging را فرا میگیرید.
- یاد خواهید گرفت چطور تاریخچه کارها در گیت را بوسیله commit id بررسی کنید.
- جابجایی بین کامیتهای مختلف و سفر در بین کامیتهای مختلف را فرا میگیرید.
- بررسی تغییرات انجام شده روی ریپازیتوری را یاد خواهید گرفت.
- برگرداندن تغییرات در گیت را یاد خواهید گرفت.
- با ایجاد شاخهها (Branchs) در گیت، فلسفه آن و دلایل مهندسی نرم افزاری برای استفاده از شاخهها را آموزش میبینید.
- ادغام (Merge) کردن شاخههای (Branchs) مختلف با شاخه اصلی (Master) را فرا خواهید گرفت.
- با مفهوم Rebase، کارکرد و تفاوت آن با Merge آشنا خواهید شد.
- چطور فایلهایی را برای چشم پوشی (ignore) کردن به گیت معرفی میکنیم.
- تگ زدن برای نسخهها و وژنهای مختلف پروژه را فرا میگیرید.
- فرا میگیرید که چه کسی، در چه تاریخی، چه تغییری را در قسمتی از پروژه انجام داده است؟!
- یا حتی میتوانید بفهمید آخرین تغییر روی خط n از فایل y را چه کسی انجام داده است!
- خطایابی و دیباگینگ بوسیله گیت را آموزش میبینید.
- با سرویسهایی نظیر گیت هاب و گیت لب (GitLab) و Fork کردن پروژهها آشنا میشوید.
- GUIهای مختلف برای استفاده از گیت در مقابل git bash را فرا میگیرید.
آموزش Git دانشجویار چه مزیتی دارد؟!
- در کنار آموزش درسنامهی آموزشی، بصورت منظم داکیومنت شده است و در گیتهاب مدرس به آن دسترسی خواهید داشت.
- تمامی دستورات بصورت عملی با سناریوهای دنیای واقعی بررسی شده و اصول مهندسی نرم افزار و best practice ها نیز در این دوره مطرح خواهند شد.
- مباحث دوره از سطح مقدماتی شروع شده و در نهایت با مشاهده این دوره (که در آن سعی شده مطالب به شکل کامل و حرفهای ولی به شکل ساده و مختصر توضیح داده شود) به سطحی خواهید رسید که بتوانید بصورت تیمی با یک تیم نرم افزاری مشارکت کنید یا پروژههای فریلنسری خود را مدیریت کنید.
مخاطبین دوره
- برنامه نویسان و توسعه دهندگان نرم افزار در هر حوزهای ( موبایل، دسکتاپ، وب، امنیت، هوش مصنوعی و … ) که قصد فعالیت و توسعه پروژهها بصورت تیمی را دارند.
- فریلنسرهایی که قصد دارند از گیت برای مدیریت پروژههای شخصی خود استفاده کنند.
- برنامه نویسانی که علاقه مند به مشارکت در پروژه های open source هستند.
- افرادی که قصد مدیریت ورژن ها و نسخه هایی از فایلها و مطالب خود را دارند نظیر:
- مترجمین کتاب
- نویسندگان کتاب و مولفین
- افرادی که قصد نگارش تز و یا پایان نامه خود را دارند
- و … .
پیش نیازهای آموزش Git
- این دوره هیچ پیشنیازی ندارد، صرفا باید با مدرس این دوره همراه شوید.
- آموزش جامع Git دانشجویار از مقدماتیترین مباحث شروع شده و شما را تا سطحی که بتوانید با یک تیم در یک شرکت نرم افزاری بصورت تیمی روی پروژهها کار کنید پیش خواهد برد.
سورس کنترل چیست؟
یکی از ویژگیهای مهم مهندس نرم افزار حرفهای دانش استفاده از سورس کنترلها (SCM یا Source control management) و ورژن کنترلها (VCS یا Version control system) است. زیرا که مهمترین دارایی شما در فرآیند تولید نرم افزار، سورس کد نرم افزاری است که در حال توسعه آن هستید، به همین دلیل نگهداری از آن و مدیریت درست تغییرات در آن بسیار با اهمیت است. شما با شرکت در این دوره آموزش جامع Git یادخواهید گرفت که چگونه پروژههای برنامهنوسی خود را با سورس کنترل گیت مدیریت کرده و راندمان کاری خود را بالاتر ببرید.
اگر از ابتدای کار تولید نرم افزار از سورس کنترل استفاده نکنید ممکن است در طول توسعه کد، فاجعه رخ دهد! بنابراین یادگیری یکی از سورس کنترلها برای برنامه نویسان حرفه ای از واجبات است!
چرا باید از سورس کنترل استفاده کنیم؟
- مهمترین دارایی در فرآیند تولید نرم افزار سورس کد شما است.
- جابجایی بین ورژنها و نسخههای مختلف پروژه
- باگیابی نرم افزار و رفع باگ کد
- چه کسی، در چه زمانی، چه تغییری را در کد ایجاد کرده است؟
- مدیریت کدهای اعضای تیم و ایجاد شاخه ( Branch )های فرعی در پروژه و ادغام ( Merge ) این شاخهها با کد اصلی بدون کانفلیکت و مشکل
- و … .
انواع سورس کنترلها:
- سورس کنترلهای Centralized (متمرکز یا مرکزی):
در این نوع از سورس کنترلها، کد همه اعضای تیم روی یک کامپیوتر یا سرور قرار میگیرد. برای اشتراکگذاری و دریافت کد، هر برنامه نویس باید به آن کامپیوتر یا سرور متصل شود. از معروفترین این سورس کنترلها SVN و TFS را میتوانیم نام ببریم.
- سورس کنترلهای Distributed (غیر متمرکز یا پراکنده):
در این نوع از سورس کنترلها، هر کدام از برنامه نویسان و اعضای تیم تمام سورس کد را روی PC خود دارند و حتی ممکن است تغییرات خود را با یکدیگر به اشتراک بگذارند و یا حتی به اشتراک نگذارند، این شکل از کار اعضای تیم را ملزم به داشتن دیسیپلین خاص برای اشتراکگذاری کد ها با یکدیگر میکنند.
مزیتهای سورس کنترلهای Distributed (پراکنده)
- عدم نیاز به شبکه
- سرعت بسیار بسیار زیادتر نسبت به مدل مرکزی
- مشارکت در پروژه ها بدون نیاز به داشتن دسترسی به کامیتهای برنامه نویسان دیگر
- کاهش خطر از دست رفتن اطلاعات
- تمیزتر بودن مخزن یا ریپازیتوری اصلی (Master)
سورس کنترلهای توزیع شده مختلفی وجود دارند نظیر Git، BitKeeper، Darcs، Fossil، Mercurial و … که در این بین گیت، محبوبترین بین آنهاست و در این دوره آموزش جامع Git قصد داریم به سطح مطلوبی از مهارت استفاده از این سورس کنترل قدرتمند برسیم.
گیت (Git) سورس کنترل محبوب!
گیت در سال 2005 توسط خالق لینوکس، لینوس توروالدز به وجود آمده و توسعه آن آغاز شد. قبل از استفاده از این سورس کد، تیم لینوکس برای پروژه کرنل لینوکس از سورس کنترل BitKeeper (صاحب این سیستم لری مک ووی) برای نگه داری و مدیریت پروژه استفاده میکردند. اما از یک زمانی به بعد، صاحبان این سورس کد، تصمیم گرفتند که این سورس کد را فروشی کنند. همین عامل باعث شد لینوس توروالدز به فکر استفاده از سورس کنترلهای دیگری برای توسعه پروژه بیفتد. او سرانجام در ماه آوریل ۲۰۰۵ کار روی گیت را آغاز کرد و یکسال بعد از آن (در ماه ژوئن)، گیت توانست مدیریت ریلیز نسخه بعدی لینوکس را بر عهده بگیرید.
چرا گیت (Git)؟ دلایل محبوبیت آن چیست؟
- سرعت فوق العاده
- حجم کم مخزن (Repository)
- پایداری
- راحتی کار با شاخهها (Branch)
- کامیت با جزئیات بیشتر
- تمیز بودن Working directory با فولدرهای .git
- نمایش میزان پیشرفت عملیات
- Feature rich بودن گیت (تنوع زیاد مجموعه دستورات و امکانات)
dezhamkhah دانشجوی دوره
سلام اموزش واقعا فوق العادس و کامل ترین دوره ایی که میتونید پیدا کنید همین دورس و استاد خیلی ساده و قابل فهم توضیحات رو به بهترین شکل آموزش میدن ممنون از استاد و تیم دانشجویار 🙏🙏
حامد مودی مدرس دوره
سلام و عرض ادب
ممنونم، نظر لطفتونه، تمام تلاشمو کردم که دوره خوبی ارائه بدم و خوشحالم که از دوره راضی بودین
mohammadmazdarani دانشجوی دوره
سلام
وقت بخیر
برای مدیریت پایگاه داده نیز میتوان از git استفاده کرد ؟
اگر نمیشود از چه دوره ای استفاده کنیم ؟
ممنون
حامد مودی مدرس دوره
سلام و عرض ادب
صرفا میتونین برای اسکیمای دیتابیس از گیت استفاده کنید. یعنی فقط ساختار جداول، view ها، توابع و Stored procedure ها و یا برای فریم ورک ها مثل لاراول برای migration ها قطعا مورد استفاده هستن
اما برای داده ها چون سنگین هستن معقول نیست.
در مقیاس خیلی کم و در زمان تست پروژه میشه استفاده کرد اما برای پروژه در حال اجرا حجم خیلی بالایی میشه
در کل فقط برای ساختار دیتابیس خوبه ولی برای داده های دیتابیس خیر