206772490804658git.jpg
نام دوره GIT
دسته بندی طراحی سایت
تعداد دوره 5
 GIT
توضیحات

با اختلاف مدرن ترین سیستم کنترل نسخه کد یا نرم افزاری که امروز در دنیا میشود نام برد Git هست. این نرم افزار سال 2005 توسط خالق لینوکس یعنی لینوس توروالدز توسعه داده شده. اما قبل از آن به این سوال پاسخ دهیم که سیستم کنترل نسخه یا Version Control System به طور کلی یعنی چی؟

سیستم کنترل نسخه یا Version Control Sytem به اختصار VCS

خیلی وقت ها پیش آمده که میخواهیم دقیق بدانیم که روی پروژه چه مواقعی کار کردیم؟ چه کدی زدیم؟ چه فایلی را تغییر دادیم؟ چه کدهایی حذف یا اضافه کردیم و به طور خلاصه فرآیند توسعه و کدنویسی خود را شخص دیگر را بررسی کنیم. گاهی هم لازم می شوند پروژه را به نسخه های قدیمی برگردانیم که در حالت عادی باید از لحظه لحظه تغییرات از کل پروژه پشتیبانی یا بکاپ تهیه کنیم که کاری وقت گیر و غیر بهینه هست. گاهی میخواهیم یک ویژگی جدید را روی پروژه امتحان کنیم ولی نمیخواهیم کد اصلی دچار تغییر شود به همین دلیل باید از پروژه یک کپی بگیریم و ویژگی جدید را روی آن امتحان کنیم و اگر موفق بود ترکیب از دو پروژه جدا کار وقتگیر و خسته کننده ای هست. حتی در کار تیمی وقتی دو یا چند نفر قرار است روی یک پروژه کار کنند تفکیک وظایف و ترکیب پروژه به صورت یکجا در پروژه های بزرگ به شدت وقتگیر و نشدنی است و حتی در این مدل کار تیمی در آخر مشخص نیست که چه کسی؟ چه کد؟ روی چه فایلی؟ حذف یا اضافه کرده و در کل کد های پروژه چقدر سهیم بوده است.  در اینجا سیستم های کنترل نسخه می توانند تمام این مشکلات را برای ما حل کنند. مثلا تک تک تغییراتی که روی پروژه انجام می دهیم با اسم خودمان و توضیحات لازم ثبت میکنیم و به تک تک تغییرات و جزئیات آن به راحتی دسترسی داریم اینکه روی چه فایل دقیقا چه تغییراتی ایجاد کردیم و به چه علت این تغییر را انجام دادیم. خیلی راحت می توانیم به عملیات ثبت قبلی برگردیم و کد را اصلاح کنیم یا تغییرات را ببینیم. اگر ویژگی جدید به ذهنمان رسید نیاز به کپی پوشه پروژه نیست و فقط کافی است از خاصیت شعبه یا Branch این سیتم ها استفاده کنیم و ویژگی جدید را در محیطی کاملا ایزوله از پروژه اصلی انجام دهیم و اگر ناموفق بود بدون هیچ مشکلی آن branch را حذف و اگر موفق بود آن branch را به پروژه اصلی در کمترین زمان به صورت خودکار ترکیب میکنیم. در کار تیمی هر فرد روی بخش خود کار میکند و ثبت خود را انجام میدهد و اینطور مدیر یا اعضای تیم دقیقا متوجه هستند که چه کسی چه فایل را چه تغییری داده و درصد مشارکت در پروژه او چقدر بوده است. و همچنین به صورت مواری رو بخش های مختلف پروژه کار می کنند و فقط کافیست کدهای افراد را به صورت خودکار ترکیب کنیم تا تغییرات افراد روی پروژه اصلی قرار گیرد.

گیت(Git) و ویژگی های آن

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

ویژگی های Git

به طور کلی میتواند ویژگی های زیر را برای Git نام برد:

  • رهگیری تغییرات و مشاهده سوابق تغییرات پروژه
  • رایگان و متن باز
  • پشتیبانی عالی از کار تیمی
  • توسعه غیرخطی پروژه ها
  • سرعت بالا
  • حجم کم برای ثبت و ذخیره تغییرات
  • قابلیت ساده بودن شعبه بندی یا branching
  • توسعه به صورت توزیع شده(روی سیستم شخصی هم قابلیت ثبت تغییرات هست بر خلاف مدل های دیگر vcs ها)

گیت هاب یا Github چیست؟

سرویس هایی در بستر اینترنت ارائه می شوند که پروژه های مبتنی بر گیت ها میزبانی می کنند و به این صورت پروژه های مبتنی بر گیت به راحتی روی اینترنت در دسترسی بقیه قرار میگیرد چه به صورت عمومی و چه به صورت خصوصی با دسترسی دادن به افراد خاص یا حتی فقط خودتان حتی این سرویس ها امکاناتی فراتر از گیت را در اختیار شما قرار میدهند که می توانید راحت تر با آن پروژه های مدیریت و زمان بندی و انتشار دهید. به چند نمونه از امکانات این سرویس ها اشاره می کنیم:

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

دوره ها
1402/09/06 1402/09/11
شنبه09:00-10:30,دوشنبه09:00-10:30,چهار شنبه09:00-10:30
900,000 تومان
تمام شده
1402/08/01 1402/08/18
دوشنبه17:45-19:15,پنج شنبه17:45-19:15
400,000 تومان
تمام شده
1402/05/07 1402/05/25
شنبه16:00-17:30,چهار شنبه16:00-17:30
480,000 تومان
تمام شده
1402/03/08 1402/03/24
دوشنبه17:45-19:15,چهار شنبه17:45-19:15
390,000 تومان
تمام شده
1401/11/17 1401/12/10
دوشنبه17:45-19:15,چهار شنبه17:45-19:15
390,000 تومان
تمام شده