آموزش کامپیوتر و اینترنت

گیت‌هاب GitHub چیست؟ شبکه اجتماعی برنامه نویسان

معمولا GitHub را یک سایت اشتراک کد و ارائه خدمات یا یک شبکه اجتماعی مخصوص برنامه نویسان میدانند. هر دوی آنها میتوانند درست باشند

اما واقعا GitHub چیست؟

GitHub

گیت‌هاب (به انگلیسی: GitHub) یک سرویس میزبانی وب برای پروژه‌های برنامه نویسان در سراسر دنیا است که از سیستم سورس کنترل گیت استفاده می‌کنند. گیت‌هاب با استفاده از روبی آن ریلز و ارلنگ ساخته شده‌است. این سرویس هم دارای گزینه رایگان برای پروژه‌های متن‌باز و هم پولی برای پروژه‌های تجاری است.

گیت هاب در سال 2008 پایه‌گذاری گردید و بر اساس گزارشی در ژوئن 2011، این سرویس محبوب‌ترین سرویس ارائه‌دهنده گیت است.

این سایت عملکردهای یک جامعه مجازی شامل: فید، دنبال کننده و گراف شبکه برای نمای دادن توسعه دهندگانی که بر یک نسخهٔ مرجع (مخزن) کار می‌کنند، را به کاربرانش ارائه می‌دهد.

در ژوئیه 2012 این شرکت با صد میلیون دلار آمریکا در سری آ سرمایه داران اصلی، از طرف اندرسون هورویتز رده‌بندی شد.

در قلب GitHub یک پروژه متن باز که توسط Linus Torvalds (خالق لینوکس) ایجاد شده است به نام Git وجود دارد. در واقع Git یک سیستم کنترل نسخه نرم افزار است. Matthew McCullough یکی از اعضای GitHub میگوید: Git مانند دیگر سیستم های کنترل نسخه، نسخه های نرم افزار را ذخیره، مدیریت و فراخوانی میکند. که البته بیشتر برای کدها استفاده میشود اما Git میتواند برای هر نوع فایل دیگری مانند یک فایل Word یا TXT نیز استفاده شود.

در GitHub میتوان پروژه ها را تحت عنوان Repository ایجاد کرد. اما GitHub به جز امکان ایجاد repository ویژگی های دیگری مانند خط فرمان، رابط گرافیکی، بوجود آوردن همکاری در repositoryهای مختلف و غیره را میدهد.

برای خیلی ها ممکن است سوال پیش آمده باشد چطور یک برنامه نویس از پروژه ای که به صورت اوپن سورس منتشر میکند محافظت کرده و از سوء استفاده جلوگیری میکند؟ بر اساس همین سوال شخص لینوس توروالدز Git را ایجاد کرد برای ذخیره پروژه های متن باز و حفظ حقوق برنامه نویس پروژه سایت گیت هاب بر پایه Git تشکیل شده و به همین منظور استفاده میشود. البته برنامه نویس میتواند پروژه را بصورت خصوصی ذخیره کند و از انتشار عمومی پروژه خودداری کند. با استفاده از این سیستم برنامه نویسان پروژه های متن باز را با خیال راحت و با حفظ حقوق منتشر کنند و به این ترتیب پروژه به نام آن برنامه نویس ثبت خواهد شد. در این سیکل برنامه نویس یک اکانت در این سایت ایجاد و برای هر پروژه متن باز که منتشر میکند یک صفحه (مخزن) ساخته و پروژه را در آن ذخیره میکند.

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

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

این سه ویژگی fork, pull request و merge هستند که GitHub را قدرتمند میکند. در گذشته برای اینکه یک کاربر بتواند تغییراتی را در یک پروژه متن باز ایجاد کند باید ابتدا آن را دانلود میکرد، سپس تغییرات لازم را اعمال کند، بعد از آن لیستی از تغییرات را به نام patch ایجاد و همراه پروژه به کاربر اصلی آن میفرستد. کاربر اصلی ابتدا باید به کاربر غریبه اعتماد کند سپس patch را مشاهده و در صورت درست بودن تغییرات را اعمال کند.

اما در GitHub زمانی که یک pull request رخ میدهد، کاربر اصلی میتواند پروفایل درخواست دهنده را ببینید و در صورت تایید (merge) به اعتبار درخواست کننده اضافه میشود. این اعتبار میتواند به عنوان یک روزمه شناخته شود.

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

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

github

برای شروع شما باید در وب سایت گیت هاب به آدرس github.com عضو شوید، پس از اینکه اکانت خود را ایجاد کردید یک پروفایل برای شما ایجاد می شود که مثل سایر شبکه های اجتماعی می توانید بقیه برنامه نویسان را فالو کنید و کد ها و پروژه های Public آنها را مشاهده کنید و استفاده کنید. همچنین خوبی دیگری که گیت هاب دارد این است که میتوانید یک وبلاگ با ان برای خود داشته باشید username.github.com و مزیت بهتر ان این است که فقط افراد متخصص می توانند یک وبلاگ داشته باشند! چرا که باید یک ریپوزوتوری ایجاد کنید و صفحه وبلاگتان را خودتان کد نویسی کنید!

برچسب ها

سیدرضا بازیار

به وب سایت شخصی من خوش آمدید! من سیدرضا بازیار هستم، متولد 1374 شهرستان کازرون. در حال حاضر دانشجوی رشته مهندسی فناوری اطلاعات هستم، مسلط به زبان های: HTML5 - CSS3 - JavaScript در حال یادگیری زبان های PHP و Python هستم و علاقه بسیار زیادی به برنامه نویسی تحت وب ، هوش مصنوعی و زمینه امنیت اطلاعات دارم.

‫10 نظرها

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن