با ما بهترین ها را تجربه کنید

GitHub چیست؟

GitHub چیست؟

GitHub چیست؟

گیت هاب یک ابزار بسیار قدرتمند و مناسب میزبانی وب برای برنامه نویسان می باشد. گسترش کارهای تیمی در برنامه نویسی باعث نیاز به وجود سرویس هایی است که امکان ذخیره کردن یا تغییرات در کد ها را گسترش دهد.

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

گیت git چیست؟

گیت یک ابزار کنترل نسخه یا فایل اپن سورس می باشد که توسط لینوس تروالدز ساخته شده است. از گیت هاب برای نگه داری و حفظ سورس کد ها و تغییراتی که در آن ها انجام می شود استفاده می کنیم. برای درک بهتر کاربرد گیت هاب، به مثال زیر توجه کنید.

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

اینجاست که گیت به کمک برنامه نویسان آمده است. به کمک این محیط می توانید پروژه های گروهی را انجام داده و به راحتی هر تغییری را در آن ایجاد کنید. همچنین تمامی نسخه های تغییرات شما در یک محل بدون نیاز به تغییر نام های متوالی در دسترس می باشند.

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

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

هاب چیست؟

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

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

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

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

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

کنترل نسخه یا Version Control چیست؟

در بخش های پیش از واژه ی کنترل نسخه استفاده کردیم. شاید برایتان سوال پیش بیاید که کنترل نسخه یعنی چه؟ کنترل نسخه به توسعه دهندگان کمک می کند تا تغییرات کد یک پروژه را ردیابی و مدیریت کنند. برای فهم بهتر این موضوع تصور کنید که مشغول انجام یک پروژه بزرگ برنامه نویسی هستید. اگر بخواهید به صورت مستقیم روی کد اصلی کار کنید کار عاقلانه و امنی نخواهد بود.

کنترل نسخه به راحتی به شما این امکان را می دهد تا بتوانید در کد ها تغییرات و اصلاح انجام دهید. کنترل ورژن با استفاده از شاخه بندی (branch) و ادغام (merging) این کار را انجام می دهد. هر توسعه دهنده توانایی کار بر روی کد مورد نظر خود و ادغام آن با کد اصلی را دارد. از همه مهم تر تمامی تغییرات قابل ردیابی بوده و امکان بازگشت تغییرات وجود دارد.

هدف گیت هاب

هدف اصلی GitHub ایجاد محیطی برای کنترل ورژن و همکاری تیمی روی پرو‌ژه ها می باشد و تمام چیزی که برای مدیریت یک پروژه توسعه نرم افزار نیاز دارید را فراهم آورد. همچنین برچسب ها، موتور های جستجو و… برای پیگیری مسائل و مشکلات نیز در دسترس می باشند.

ویژگی های GitHub  

  • مستندات مفید: GitHub میزبان ویکی پروژه های شما بوده و برای دستیابی به اسناد مفید می باشد.
  • مدیریت مسائل و مشکلات کاربران( ردیابی موضوعات، درخواست ها، برچسب ها و…): این کار باعث می شود تا مردم بتوانند در مورد نیازهایشان بحث کنند، مسائل را مدیریت کنند، آن ها را به شعب پیوند داده و درخواست ها را pull کنند.
  • میزبانی کد و بررسی کد: گیت هاب مخازن Git را میزبانی می کند و آن ها را در دسترس عموم قرار می دهد( باتوجه به پیکربندی شما). همچنین درخواست Pull را نیز فراهم می کند. این همان کاریست که سرور Stash و BitBucket انجام می دهد.
  • آزمایش و استقرار خودکار: گیت هاب را می توان پیکربندی کرد تا بتوانیم تغییرات را ادغام کرده و در فایل اصلی آن ها را ذخیره و آزمایش کنیم.
  • بررسی تغییرات نسخه ها: وقتی چند نفر روی یک پروژه کار می کنند، مدیریت آن دشوار شده و پیگیری این که چه کسی چه تغییری را انجام داده سخت می شود. همان طور که در بخش های پیش گفته شد، گیت هاب به این مشکل کمک کرده و آن را برطرف کرده است.
  • نمایش پروژه های خود: بیشتر شرکت ها هنگام جذب نیرو برای پروژه های خود به پروفایل های گیت هاب نگاه می کنند. اگر پروفایل شما به صورت عمومی و در دسترس باشد موقعیت های شغلی بیشتری خواهید داشت.

معایب گیت هاب

برخی از کارهایی که نمی توانیم در GitHub انجام دهیم اما برای مدیریت یک پروژه نرم افزاری ضروری می باشند عبارتند از:

  • ابزارهای ارتباطی مانند پیام رسانی، تماس صوتی یا تصویری: البته برای برخی از این موارد می توانید از یک جلسه رو در رو، شلی، اسکایپ، Google Hangouts، تلفن و خدمات سیسکو استفاده کنید.
  • میزبانی پروژه در حال اجرا: به عنوان مثال، اگر در حال ساختن وب سایت بودید، باید میزبان برنامه وب را از ارائه دهنده دیگری مانند GoDaddy ، AWS ، Azure دریافت کنید. (میزبانی کد و تاریخچه نسخه آن با اجرای کد مشابه نیستند)

مفاهیم کلیدی مورد استفاده در گیت هاب

در این بخش کلمات کلیدی و مهمی که در گیت هاب بسیار مورد استفاده قرار می گیرد را بررسی خواهیم کرد. یادگیری و فهم این کلمات به شما برای آموزش گیت هاب در بخش های بعد کمک شایانی خواهد کرد.

  • خط فرمان (Command Line)
  • مخزن (Repository)
  • کنترل نسخه (Version Control)
  • سپردن (Commit)
  • شاخه‌ (Branch)
  • درخواست ادغام یا یکپارچگی(Pull Request)

نکات جالب در مورد گیت هاب

  • گیت هاب فقط برای برنامه نویسان نبوده و سایر کاربران نیز می توانند از این سرویس استفاده کنند. اگر روی پروژه ی ترجمه کتاب به صورت گروهی کار می کنید و هر لحظه نیاز به تغییرات و به روز رسانی دارد و می خواهید بدانید چه کسی چه تغییراتی انجام داده GitHub گزینه ای مناسب می باشد.
  • GitHub به عنوان یک شبکه ی اجتماعی نیز به کار می رود و قابلیت های مختلفی از جمله لایک کردن و Follow کردن و… دارد.
  • در گیت هاب کاراکتر های نمایشی متعددی با نام های MegaCat ،LabtoCat و… وجود دارد که کاربران می توانند از آن ها به عنوان آواتار شخصی استفاده کنند.
  • گیت هاب قابلیت پشتیبانی از فرمت CSV را دارد. با استفاده از این قابلیت فایل ها طوری رندر می شوند که به صورت داده های جدولی در می آیند. همچنین قابلیت جست و جو در این جداول نیز موجود است.

سخن پایانی

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

۴ پاسخ

  1. سلام من دو سوال داشتم
    ١- وقتی کسی پروژه خودش رو به اشتراک میذاره اشخاص دیگر میتونن ایده و برنامه اون رو برداشته و خودشون ازش استفاده کنن؟ این مسئله چطور قابل کنترل هست؟
    ٢- کسانی که روی یک پروژه بطور مشترک کار میکنن چطور میتونن بابت کاری که انجام میدن از مزایای اون پروژه بهره مند بشن؟

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

  2. سلام و خسته نباشید.
    من امشب به طور اتفاقی github. com و دیدم و اومدم ببینم چیه
    که توضیحات شما برا من که هیچ اطلاعاتی ندارم، جالب و مفید بود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

در هر قدم کنار شما هستیم

به توسعه کسب و کار آنلاین خود بیاندیشید، دلسوزانه از آن محافظت خواهیم کرد 

021-91301614

7 روز هفته 24 ساعته پاسخگوی شما هستیم

نماد های سوین

تمامی حقوق این وب سایت برای سوین هاست محفوظ می باشد . فعالیت از سال (1393-1401)

طراحی وب سایت توسط تیم طراحی سوین هاست 

خرید هاست

سرورها

لینک های مرتبط

نماد ها

samandehi

تمامی حقوق این وب سایت برای سوین هاست محفوظ می باشد . فعالیت از (1393-1400)

طراحی وب سایت توسط تیم طراحی سوین هاست

واتساپ