قراره تو این دوره چی یاد بگیرم؟

  • آشنایی کامل با مفهوم و فلسفه سورس کنترل‌ها
  • مفاهیم اولیه در گیت مثل Commit, Stage, index, Working Diractory, Repository و ...
  • سفر در زمان و جابجایی بین کامیت های گذشته و بازیابی کدها و شاخه ها
  • ادغام (Merge) کردن شاخه‌‌های (Branchs) مختلف با شاخه اصلی (Master) و رفع تداخل کدها
  • خطایابی و دیباگینگ بوسیله Git Bisect
  • ایجاد تغییر و جابجایی در کامیت ها با Squash, CherryPick, Rebase و ...
  • درک مفاهیم Merge و Rebase و کارکرد آن
  • ارسال پروژه روی سرور گیت و مفهوم و کار با Remote ها
  • کار با Github و مدیریت مخزن در آن
  • بررسی و کار با مفاهیم Issue و Pull Request
  • طراحی پروفایل GitHub
  • داشتن صفحه استاتیک شخصی در GitHub با دامنه اختصاصی
  • کدنویسی ویرایش پروژه در GitHub
  • و مباحث دیگری که در سرفصل دوره آمده ...
حامد مودی

حامد مودی

برنامه نویس وردپرس

طراح رابط و تجربه کاربری

متخصص افزونه نویسی

برنامه نویس ارشد PHP

و ....

سرفصل های دوره

۶ فصل
۹۴ جلسه
۲۳ ساعت
۱

مقدمات و راه اندازی

۱۱ قسمت
۰۱:۲۸:۰۳
1

مدرس و شیوه تدریس

رایگان
۰۲:۲۱
2

راه های ارتباط با مدرس

۰۴:۰۰
3

پیش نیاز دوره!

رایگان
۰۰:۵۵
5

سیستم کنترل نسخه یا VCS

۰۹:۴۲
6

انواع سیستم کنترل نسخه

۱۰:۰۶
7

کمی درباره پیدایش Git

۰۸:۲۶
8

تفاوت عملکرد Git و سایر سیستم های کنترل نسخه

۰۹:۱۴
9

نصب Git روی ویندوز

۰۶:۵۶
10

کمی درباره خط فرمان یا Command Prompt در ویندوز

۱۴:۳۴
11

کمی درباره خط فرمان Git Bash

۱۱:۵۸
۲

ثبت تغییرات پروژه

۳۲ قسمت
۰۷:۴۶:۰۹
۳

مدیریت شاخه های پروژه یا Branch

۱۷ قسمت
۰۳:۵۵:۱۴
۴

آموزش GitHub

۳۴ قسمت
۰۹:۵۴:۲۰
۵

آموزش Git Flow در گیت(در حال ضبط)

-
۶

فرآیند انتشار خودکار توسط Git و Github(در حال ضبط)

-

Git متداول‌ترین سیستم سورس کنترل است. Git نرم افزاری است که به صورت محلی اجرا شده و پرونده‌ها و تاریخچه آن‌ها را در رایانه شما ذخیره می‌کند. با این وجود دیگر نگران از دست دادن اطلاعات و سورس کد های خود نخواهید بود. با استفاده از گیت همچنین می‌توانید از گیت هاب GitHub برای ذخیره یک کپی از پرونده‌ها و سابقه ویرایش آن‌ها استفاده کنید. بستری جذاب برای برنامه نویس ها برای به اشتراک گذاشتن سورس خود با دیگران و استفاده از سورس دیگران و تجریه های برنامه نویسی آن ها است.

Git می‌تواند تغییرات را به طور خودکار ادغام کند، به عنوان مثال دو نفر می‌توانند در قسمت‌های مختلف یک فایل کار کنند و بعدا بدون تغییر کار یکدیگر، آن تغییرات را ادغام کنند! بنابراین صرف نظر از اینکه شما کدی را به تنهایی‌ می‌نویسید یا در قالب یک تیم کار می‌کنید، آموزش جامع Git برای شما مفید خواهد بود.

آموزش جامع Git و GitHub

مطالب مهمی که در دوره آموزش 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 ) این شاخه‌ها با کد اصلی بدون کانفلیکت و مشکل
  • و … .
آموزش git و دلیل استفاده از آن
سورس کنترل‌ها مشخص می‌کنند که چه کسی،‌ چه تغییری، در چه زمانی روی کد ایجاد کرده است.

انواع سورس کنترل‌ها:

  1. سورس کنترل‌های Centralized (متمرکز یا مرکزی):

در این نوع از سورس کنترل‌ها، کد همه اعضای تیم روی یک کامپیوتر یا سرور قرار می‌گیرد. برای اشتراک‌گذاری و دریافت کد، هر برنامه نویس باید به آن کامپیوتر یا سرور متصل شود. از معروف‌ترین این سورس کنترل‌ها SVN و TFS را می‌توانیم نام ببریم.

 آموزش git و منابع مرکزی
سورس کنترل‌های مرکزی
  1. سورس کنترل‌های Distributed (غیر متمرکز یا پراکنده):

در این نوع از سورس کنترل‌ها، هر کدام از برنامه نویسان و اعضای تیم تمام سورس کد را روی PC خود دارند و حتی ممکن است تغییرات خود را با یکدیگر به اشتراک بگذارند و یا حتی به اشتراک نگذارند، این شکل از کار اعضای تیم را ملزم به داشتن دیسیپلین خاص برای اشتراک‌گذاری کد ها با یکدیگر می‌کنند.

آموزشgit وسورس های غیر متمرکز
سورس کنترل‌های غیر متمرکز یا پراکنده

مزیت‌های سورس کنترل‌های Distributed (پراکنده)

  • عدم نیاز به شبکه
  • سرعت بسیار بسیار زیادتر نسبت به مدل مرکزی
  • مشارکت در پروژه ها بدون نیاز به داشتن دسترسی به کامیت‌های برنامه نویسان دیگر
  • کاهش خطر از دست رفتن اطلاعات
  • تمیز‌تر بودن مخزن یا ریپازیتوری اصلی (Master)

سورس کنترل‌های توزیع شده مختلفی وجود دارند نظیر Git، BitKeeper، Darcs، Fossil، Mercurial و … که در این بین گیت، محبوب‌ترین بین آن‌هاست و در این دوره آموزش جامع Git قصد داریم به سطح مطلوبی از مهارت استفاده از این سورس کنترل قدرتمند برسیم.

 گیت (Git) سورس کنترل محبوب!

گیت در سال 2005 توسط خالق لینوکس، لینوس توروالدز به وجود آمده و توسعه آن آغاز شد. قبل از استفاده از این سورس کد، تیم لینوکس برای پروژه کرنل لینوکس از سورس کنترل BitKeeper (صاحب این سیستم لری مک ووی) برای نگه داری و مدیریت پروژه استفاده می‌کردند. اما از یک زمانی به بعد، صاحبان این سورس کد، تصمیم گرفتند که این سورس کد را فروشی کنند. همین عامل باعث شد لینوس توروالدز به فکر استفاده از سورس کنترل‌های دیگری برای توسعه پروژه بیفتد. او سرانجام در ماه آوریل ۲۰۰۵ کار روی گیت را آغاز کرد و یکسال بعد از آن (در ماه ژوئن)، گیت توانست مدیریت ریلیز نسخه بعدی لینوکس را بر عهده بگیرید.

 چرا گیت (Git)؟ دلایل محبوبیت آن چیست؟

  • سرعت فوق العاده
  • حجم کم مخزن (Repository)
  • پایداری
  • راحتی کار با شاخه‌ها (Branch)
  • کامیت با جزئیات بیشتر
  • تمیز بودن Working directory با فولدرهای .git
  • نمایش میزان پیشرفت عملیات
  • Feature rich بودن گیت (تنوع زیاد مجموعه دستورات و امکانات)

مدرک معتبر دو زبانه

پس از گذراندن دوره و انجام پروژه های مشخص شده، مدرک معتبر و دو زبانه دانشجویار را دریافت خواهید کرد.

مدرک فارسی مدرک انگلیسی

سوالات متداول

تا چه زمانی به محتوای دوره دسترسی خواهیم داشت؟

شما می توانید به صورت دائمی به محتوای این دوره آموزشی دسترسی داشته باشید. همچنین اگر آپدیت جدیدی روی این دوره لحاظ شود به محتوای آپدیت شده نیز دسترسی خواهید داشت.

آیا در صورت تهیه دوره، مدرک شرکت در دوره آموزش Git و GitHub دانشجویار به من تعلق می گیرد؟

بله مدرک معتبر برای شما صادر خواهد شد. اما توجه داشته باشید در این دوره طلایی از دانشجویار پس از گذراندن دوره، پروژه ای توسط مدرس دوره برای شما تعریف میشود که با انجام آن و تایید مدرس دوره، مدرک معتبر شرکت در دوره برای شما صادر میشود.

آیا گیت (Git) ارزش یادگیری دارد؟

گیت (Git) یکی از ابزارهای بسیار قدرتمند و محبوب برای مدیریت نسخه کدها و همکاری در توسعه نرم‌افزار است و برای بسیاری از توسعه‌دهندگان و تیم‌های توسعه ارزش یادگیری دارد.

یادگیری گیت سخت است؟

یادگیری گیت کار آسانی است و شما می توانید با مرور و تمرین، به سرعت با آن آشنا شوید. این دوره به شکل جامع و کامل تمامی مباحث را بیان میکند.

چرا گیت‌هاب (GitHub) را یاد بگیریم؟

یادگیری گیت‌هاب (GitHub) برای بسیاری از افراد، به ویژه برنامه‌نویسان و توسعه‌دهندگان، بسیار مفید است. با استفاده از گیت هاب می توانید کدهای‌ خود را به اشتراک گذاشته و امکان مشارکت سایر افراد در فرایند مدیریت پروژه‌ها را فراهم کنید.

تفاوت گیت و گیت هاب چیست؟

گیت یک سیستم کنترل نسخه توزیع شده است، در حالی که گیت‌هاب یک پلتفرم مبتنی بر وب برای همکاری و مدیریت پروژه‌های نرم‌افزاری است.

آیا این دوره آموزش Git و GitHub کافی است؟

بله این دوره آموزشی به صورت کامل و جامع به آموزش Git و GitHub پرداخته و تمامی مباحث از قبیل ایجاد شاخه‌ها (Branchs) در گیت، خطایابی و دیباگینگ بوسیله گیت و... را بیان میکند.

بستر برگزاری دوره آموزش Git و GitHub دانشجویار کجاست؟

دوره در جهت حفظ حقوق مدرس و برای جلوگیری از منتشر شدن در بستر های متنوع، در نرم افزار اسپات پلیر برگزار میشود. البته نرم افزار اسپات، قابلیت استفاده در سیستم عامل های مختلف از جمله اندروید، ویندوز، وب و مک را دارد. در این نرم افزار شما قابلیت دانلود و تماشای آفلاین ویدیو ها را نیز خواهید داشت. پس هدف دانشجویار، اذیت کردن کاربران نیست. هدف فقط جلوگیری از پابلیک شدن دوره ها میباشد. دوره ای که به صورت عمومی و رایگان منتشر شود، دیگر فروش نخواهد داشت. متوقف شدن فروش دوره، سبب خواهد شد که دیگر پشتیبانی و بروزرسانی در دوره توسط مدرس انجام نشود. پس برای بهبود و ارتقای دوره، ملزم به استفاده از اسپات پلیر هستیم و مطمئن باشید دسترسی شما به دوره ها قطع نخواهد شد؛ چراکه دانشجویار حامی منافع کاربران و مدرسین خود میباشد.