آنچه در این صفحه می خوانید:
- معرفی گیت هاب (GitHub)
- تاریخچه گیت هاب (GitHub)
- سرویس های گیت هاب (GitHub)
- گیت هاب (GitHub) چگونه کار می کند؟
- ارتباط گیت هاب (GitHub) با گیت (Git)
معرفی گیت هاب (GitHub)
GitHub یک شرکت جهانی مستقر در ایالات متحده است که میزبان کنترل نسخه توسعه نرم افزار با استفاده از Git است. این شرکت تابعه مایکروسافت است که این شرکت را در سال 2018 با 7.5 میلیارد دلار آمریکا به دست آورد. این سرویس کنترل نسخه توزیع شده و مدیریت سورس کد (SCM) عملکرد Git را به همراه ویژگی های خاص خود ارائه می دهد. این کنترل دسترسی و چندین ویژگی همکاری مانند ردیابی اشکال، درخواست ویژگی ها، مدیریت کار و ویکی ها را برای هر پروژه فراهم می کند.
GitHub برنامه های رایگان و حساب های حرفه ای و سازمانی را ارائه می دهد. حساب های رایگان GitHub معمولاً برای میزبانی پروژه های اوپن سورس استفاده می شوند. از ژانویه سال 2019، GitHub مخازن خصوصی نامحدود را برای همه برنامه ها، از جمله حساب های رایگان ارائه می دهد. از ژانویه سال 2020، GitHub گزارش داده است که بیش از 40 میلیون کاربر و بیش از 100 میلیون مخزن (از جمله حداقل 28 میلیون مخزن عمومی) دارد و آن را به بزرگترین میزبان سورس کد در جهان تبدیل می کند.
مردم از GitHub برای ساخت برخی از پیشرفته ترین فناوری های جهان استفاده می کنند. این که آیا شما داده ها را تجسم می کنید یا یک بازی جدید را می بینید، جامعه کامل و مجموعه ای از ابزارها در GitHub وجود دارد که می تواند به شما در انجام بهتر این کار کمک کند.
مخزن (repository) چیست؟
مخزن یا پروژه Git، کل مجموعه فایل ها و پوشه های مرتبط با پروژه همراه با تاریخچه ویرایش هر فایل را شامل می شود. تاریخچه فایل به عنوان عکس های فوری به نام تعهدات ظاهر می شود، و تعهدات به عنوان رابطه لیست پیوندی وجود دارند و می توانند در چندین خط توسعه به نام شاخه ها سازماندهی شوند. از آنجا که Git یک DVCS است، مخازن واحدهای خودمختار هستند و هرکسی که یک نسخه از مخزن را در اختیار دارد می تواند به کل پایگاه داده و تاریخچه آن دسترسی پیدا کند. با استفاده از خط فرمان یا سایر رابط های کاربری آسان، مخزن git همچنین اجازه می دهد تا: تعامل با تاریخ، کلون کردن، ایجاد شاخه ها، ارتکاب، ادغام، مقایسه تغییرات در نسخه های کد و موارد دیگر.
کار در مخازن، پروژه های توسعه را سازمان یافته و محافظت می کند. بدون ترس از تلاش برای توسعه خط اصلی، توسعه دهندگان را به رفع اشکالات یا ایجاد ویژگی های جدید تشویق می کنند. Git این کار را با استفاده از شاخه های موضوع تسهیل می کند: نشانگرهای سبک به تعهداتی در تاریخ که می توانند در صورت عدم نیاز به راحتی ایجاد و از بین بروند.
از طریق سیستم عامل هایی مانند GitHub و Git همچنین فرصت های بیشتری را برای شفافیت و همکاری پروژه فراهم می کند. مخازن عمومی به تیم ها کمک می کنند تا برای ساختن بهترین محصول نهایی ممکن در کنار هم کار کنند.
تاریخچه گیت هاب (GitHub)
GitHub توسط Chris Wanstrath ،P. J. Hyett ،Tom Preston-Werner و Scott Chacon با استفاده از روبی آن ریلز ساخته شد و در فوریه 2008 آغاز به کار کرد. این شرکت، GitHub.Inc، از سال 2007 وجود داشته و در سان فرانسیسکو واقع شده است.
در 25 ژوئیه 2010، GitHub اعلام کرد که میزبان 1 میلیون مخزن است. در 20 آوریل 2011، GitHub اعلام کرد که میزبان 2 میلیون مخزن است. در تاریخ 2 ژوئن 2011، ReadWriteWeb گزارش داد که GitHub در کل از تعهدات برای ژانویه تا ماه مه 2011 از SourceForge و Google Code پیشی گرفته است.
در 9 ژوئیه 2012، GitHub صد میلیون دلار بودجه از آندرسن هوروویتس با 750 میلیون دلار ارزش گذاری جمع آوری کرد. پیتر لوین، شریک عمومی سرمایه گذار GitHub آندرسن هوروویتس، اظهار داشت كه GitHub از سال 2008 "سالانه 300٪ در حال رشد بود" تقریباً از تمام راه سودآور بوده است.
در 16 ژانویه 2013، GitHub اعلام کرد که از 3 میلیون کاربر عبور کرده است و سپس میزبان بیش از 5 میلیون مخزن بود. در 23 دسامبر 2013، GitHub اعلام کرد که به 10 میلیون مخزن رسیده است. در ژوئن سال 2015، GitHub دفتری در ژاپن افتتاح کرد که اولین دفتر آن در خارج از ایالات متحده است. در 29 ژوئیه سال 2015، GitHub اعلام کرد که 250 میلیون دلار بودجه در دور به رهبری Sequoia Capital جمع آوری کرده است. سایر سرمایه گذاران این دوره شامل آندرسن هوروویتس، Thrive Capital و IVP (Institution Venture Partners) می شوند. ارزش این شرکت تقریباً 2 میلیارد دلار بود.
در سال 2016، GitHub در رتبه 14 در لیست Forbes Cloud 100 قرار گرفت. در تاریخ 28 فوریه 2018، GitHub قربانی دومین حمله بزرگ DDoS در تاریخ شد که ترافیک ورودی به اوج حدود 1.35 ترابیت در ثانیه رسید. در تاریخ 4 ژوئن 2018، مایکروسافت اعلام کرد که برای دستیابی به GitHub با 7.5 میلیارد دلار توافق کرده است. خرید در تاریخ 26 اکتبر 2018 بسته شد.در 19 ژوئن 2018، GitHub با ارائه بسته های آموزشی رایگان به کلیه مدارس، آموزش GitHub را گسترش داد.
سرویس های گیت هاب (GitHub)
GitHub
پروژه های موجود در GitHub با استفاده از رابط خط فرمان استاندارد Git قابل دسترسی و دستکاری هستند و کلیه دستورات استاندارد Git با آن کار می کنند. GitHub همچنین به کاربران ثبت نام شده و ثبت نشده اجازه می دهد مخازن عمومی را در سایت مرور کنند. چندین مشتری دسکتاپ و افزونه های Git نیز توسط GitHub و سایر اشخاص ثالث که با سیستم عامل ادغام شده اند ایجاد شده اند.
این سایت توابع شبیه به شبکه های اجتماعی مانند فید، دنبال کننده، ویکی (با استفاده از نرم افزار ویکی به نام Gollum) و نمودار شبکه اجتماعی را برای نمایش نحوه کار توسعه دهندگان روی نسخه های خود ("انشعاب") مخزن ارائه می دهد.
کاربر برای کمک به محتوا در سایت باید یک حساب کاربری ایجاد کند، اما مخازن عمومی توسط هر کسی قابل جستجو و بارگیری است. با حساب کاربری ثبت شده، کاربران قادر به بحث و گفتگو، مدیریت مخازن، ارسال سهم به مخازن دیگران و بررسی تغییرات در کد هستند. GitHub در ماه ژانویه سال 2019 شروع به ارائه مخازن خصوصی نامحدود و بدون هیچ هزینه ای کرد (محدود به سه مشارکت کننده در هر پروژه). پیش از این فقط مخازن عمومی رایگان بودند.
نرم افزار اساسی که پایه GitHub را دارد خود گیت است که توسط لینوس توروالدز، خالق لینوکس نوشته شده است. نرم افزار دیگری که رابط کاربری GitHub را فراهم می کند با استفاده از روبی آن ریلز و ارلنگ توسط توسعه دهندگان GitHub، Inc. Wanstrath، Hyett و Preston-Werner نوشته شده است.
GitHub Enterprise
GitHub Enterprise نسخه خود مدیریتی از GitHub با قابلیت های مشابه است. می توان آن را بر روی سخت افزار شخصی سازمان یا ارائه دهنده ابر اجرا کرد و از نوامبر 2011 در دسترس است.
GitHub Pages
GitHub Pages سرویس میزبانی وب استاتیک است که از سال 2008 توسط GitHub برای کاربران میزبان GitHub برای میزبانی وبلاگ های کاربر، اسناد پروژه یا حتی کتاب های کامل ایجاد شده به عنوان صفحه ارائه شده است. کلیه محتوای صفحات GitHub در مخازن Git ذخیره می شود، یا به عنوان فایل هایی که برای کلمات بازدید کننده و یا با فرمت Markdown ارائه می شوند. GitHub یکپارچه با وب سایت استاتیک جکیل و ژنراتور وبلاگ و خطوط لوله ادغام مداوم GitHub است. هر بار منبع محتوا به روز می شود، جکیل وب سایت را بازسازی می کند و به طور خودکار از طریق زیرساخت های صفحات GitHub سرویس می دهد.
مانند بقیه GitHub، به جای اینکه توسط تبلیغات وب پشتیبانی شود، شامل لایه های خدمات رایگان و پولی نیز می شود. وب سایت های تولید شده از طریق این سرویس یا به عنوان زیر دامنه دامنه github.io یا به عنوان دامنه های سفارشی خریداری شده از طریق ثبت نام دامنه شخص ثالث میزبانی می شوند.
Gist
GitHub همچنین خدمات دیگری را نیز انجام می دهد: سایتی به سبک Pastebin به نام Gist که برای میزبانی قطعه های کد است (GitHub مناسب برای میزبانی پروژه های بزرگتر است). Tom Preston-Werner ویژگی کنونی Gist را در کنفرانس rock Ruby در سال 2008 ارائه کرد. Gist با اضافه کردن کنترل نسخه برای قطعه های کد، انشعاب زدن آسان و رمزگذاری SSL برای حساب های خصوصی، مفهوم ساده سنتی یک Pastebin را ایجاد می کند. از آنجا که هر "gist" مخزن Git مخصوص به خود را دارد، قطعه های چند کد را می توان در خمیر واحد موجود است و با استفاده از Git می توان آنها را هل داد و کشید. علاوه بر این، کد انشعاب می تواند به شکل یک پچ به نویسنده اصلی برگردانده شود، بنابراین می توانند بیشتر شبیه مینی پروژه ها شوند.
Education program
GitHub برنامه جدیدی را با نام GitHub Student Developer Pack راه اندازی کرد تا دانشجویان بتوانند به ابزارها و خدمات توسعه محبوب دسترسی رایگان داشته باشند. در سال 2016 GitHub از راه اندازی برنامه GitHub Campus Experts برای آموزش و ترغیب دانشجویان به رشد جوامع فناوری در دانشگاه های خود خبر داد. برنامه Campus Experts برای دانشجویان دانشگاه 18 سال و بالاتر در سراسر جهان آزاد است. کارشناسان پردیس GitHub یکی از راه های اصلی بودجه GitHub برای وقایع و اجتماعات دانشجو محور است، به متخصصین دانشگاه امکان دسترسی به آموزش، بودجه و منابع اضافی برای اجرای رویدادها و رشد اجتماعات آنها داده می شود. متقاضیان برای تبدیل شدن به مرکز دانشگاه باید دوره آموزش آنلاین متشکل از چندین ماژول که برای رشد مهارت های رهبری جامعه طراحی شده اند را گذرانند.
GitHub Marketplace service
GitHub همچنین نرم افزاری را به عنوان ادغام خدمات برای اضافه کردن ویژگی های اضافی به پروژه ها ارائه می دهد. این خدمات شامل موارد زیر است:
- Waffle.io: مدیریت پروژه برای تیم های نرم افزاری. به طور خودکار درخواست های کشش، ساخت خودکار، بررسی و استقرار را در همه مخازن خود در GitHub مشاهده کنید.
- Rollbar: برای تهیه ابزارهای اشکال زدایی در زمان واقعی و گزارش استثناء کامل، با GitHub ادغام شوید.
- Codebeat: برای آنالیز کد خودکار که در توسعه دهندگان وب و موبایل تخصص دارد.
- Travis CI: برای اطمینان در مورد برنامه های خود هنگام انجام آزمایش و حمل و نقل. همچنین این امکان را برای کنترل کامل بر محیط ساخته شده فراهم می کند تا آن را با کد تطبیق دهد.
- GitLocalize: برای تیم هایی که در حال ترجمه مطالب خود از یک نقطه به نقطه دیگر هستند، ایجاد شده است. GitLocalize به طور خودکار با مخزن خود همگام سازی می شود، بنابراین می توانید جریان کاری خود را در GitHub نگه دارید. همچنین آنچه را که باید ترجمه شود به روز می کند.
GitHub Community Forum
GitHub یک انجمن اجتماع را برگزار می کند که در آن کاربران می توانند سؤالات را به صورت عمومی بپرسند یا به سوالات سایر کاربران پاسخ دهند.
GitHub Sponsors
حامیان GitHub به کاربران این امکان را می دهد تا ماهانه به پروژه هایی که در GitHub میزبان هستند، کمک مالی کنند. بتا عمومی در 23 مه 2019 اعلام شد و در حال حاضر این پروژه ثبت نام های لیست انتظار را می پذیرد. Verge گفت که حامیان مالی GitHub "دقیقاً مانند Patreon" کار می کنند، زیرا "توسعه دهندگان می توانند ردیف های مختلف بودجه ای را ارائه دهند که دارای قدرت های مختلفی هستند، و از طرفی که می خواهند به آنها دسترسی پیدا کنند و کار خود را تشویق کنند، " برای استفاده از برنامه " پرداخت های مکرر دریافت می کنند. علاوه بر این، GitHub مشوق هایی را برای پذیرندگان اولیه در طول سال اول ارائه می دهد: متعهد می شود هزینه های پردازش پرداخت را بپردازد و هزینه های حامی مالی را با هم برابر کند تا 5000 دلار برای هر توسعه دهنده. علاوه بر این، کاربران هنوز هم می توانند از سایر خدمات مشابه مانند Patreon و Open Collective استفاده کرده و به وب سایت های خود پیوند دهند.
گیت هاب (GitHub) چگونه کار می کند؟
GitHub همکاری مستقیمی با فرآیند توسعه ایجاد می کند. کار به مخازن سازمان یافته است، جایی که توسعه دهندگان می توانند الزامات یا جهت را ترسیم کنند و انتظارات اعضای تیم را تعیین کنند. سپس، با استفاده از جریان GitHub، توسعه دهندگان به سادگی شعبه ای را برای کار بر روی به روزرسانی ها، انجام تغییرات برای ذخیره آنها، باز کردن درخواست کشش برای پیشنهاد و بحث در مورد تغییرات، و ادغام درخواست های کشش هنگامی که همه در همان صفحه هستند، ادغام می کنند.
ارتباط گیت هاب (GitHub) با گیت (Git)
گیت (Git) چیست؟
گیت یک سیستم کنترل نسخه توزیع شده برای ردیابی تغییرات در سورس کد در هنگام تهیه نرم افزار است. این برای هماهنگی کار در بین برنامه نویسان طراحی شده است، اما می توان از آن برای ردیابی تغییرات در هر مجموعه ای از فایل ها استفاده کرد. اهداف آن شامل سرعت، یکپارچگی داده ها و پشتیبانی از گردش کار غیر خطی توزیع شده است. Git توسط لینوس توروالدز در سال 2005 برای توسعه هسته لینوکس ایجاد شد و سایر توسعه دهندگان هسته نیز در توسعه اولیه آن نقش داشتند. مانند بسیاری از سیستم های کنترل نسخه توزیع شده دیگر و برخلاف اکثر سیستم های سرویس دهنده سرور، هر دایرکتوری Git در هر رایانه یک مخزن کامل با سابقه ای کامل و توانایی های ردیابی کامل نسخه، مستقل از دسترسی به شبکه یا سرور مرکزی است.
GitHub مخزن میزبانی Git است که ابزارهایی را در اختیار توسعه دهندگان قرار می دهد تا کدهای بهتری را از طریق ویژگی های خط فرمان، موضوعات (مباحث مربوط به موضوع)، ارسال درخواست، بررسی کد یا استفاده از مجموعه برنامه های رایگان و برای خرید در بازار GitHub ارسال کنند. با لایه های همکاری مانند جریان GitHub، جامعه ای 15 میلیون توسعه دهنده و اکوسیستم با صدها یکپارچه سازی، GitHub نحوه ساخت نرم افزار را تغییر می دهد.