گیتهاب یک وب سایت و سرویس مبتنی بر فضای ابری است که به توسعه دهندگان سایت کمک میکند تا کد خود را ذخیره و مدیریت کنند و همچنین تغییرات کد خود را ردیابی و کنترل کنند.
سایت گیتهاب همهٔ عملکردهای مورد نیاز کاربران در یک جامعه مجازی را در دسترس قرار دادهاست. برخی از این عملکردها عبارتند از: فید، دنبالکننده و گراف شبکه برای نمایش دادن توسعه دهندگانی که بر یک نسخهٔ مرجع (مخزن) کار میکنند.
گیتهاب همچنین سرویسهای دیگری به نام سایت گیست که در نوع خود یک سایت را ارائه میدهد. این سایت یک ویکی برای توسعه دهندگان انفرادی بهشمار میآید. از ژانویه ۲۰۱۰ گیتهاب تحت همین نام گیتهاب به فعالیتهای خود ادامه داد. گیتهاب مخازن خصوصی و آزاد را برای میزبانی پروژههای نرمافزار منبع باز، که معمولاً استفاده میشود، را ارائه میدهد.
برای درک دقیق اینکه گیتهاب چیست باید دو اصل مرتبط را بدانید:
- کنترل ورژن چیست؟
- گیت و هاب چیست؟
در این مقاله ابتدا این دو اصل را توضیح خواهیم داد و سپس در مورد گیتهاب و اینکه چگونه شما واقعاً میتوانید از گیتهاب برای کار با وردپرس و… استفاده کنید اطلاعات بیشتری ارائه خواهیم داد.
کنترل ورژن گیتهاب چیست؟
کنترل ورژن به توسعه دهندگان کمک میکند تا تغییرات کد یک پروژه نرم افزاری را ردیابی و مدیریت کنند. با رشد یک پروژه نرم افزاری کنترل ورژن ضروری میشود. در این مرحله، وردپرس یک پروژه بسیار بزرگ است. اگر یک توسعه دهنده اصلی بخواهد روی یک قسمت خاص از کد وردپرس کار کند، ویرایش مستقیم کد منبع «رسمی» امن و کارآمد نخواهد بود. در عوض کنترل ورژن به توسعه دهندگان اجازه میدهد تا با خیال راحت از طریق شاخه بندی و ادغام کار کنند.
با شاخه بندی، یک توسعه دهنده بخشی از کد منبع (که به آن مخزن میگویند) را کپی میکند. سپس توسعه دهنده میتواند با خیال راحت تغییراتی در آن قسمت از کد ایجاد کند بدون اینکه بر بقیه پروژه تأثیری بگذارد. سپس هنگامی که سازنده بخشی از کد خود را اصلاح کرد، میتواند دوباره آن کد را در کد منبع اصلی گذاشته و ثبت کند. پس از آن همه این تغییرات ردیابی میشوند و در صورت لزوم قابل برگشت هستند.
گیت چیست؟
گیت یک سیستم کنترل ورژن منبع باز خاص است که توسط لینوس تروالدز در سال 2005 ایجاد شده است. به طور خاص گیت یک سیستم کنترل ورژن توزیع شده است، به این معنی که کل پایگاه کد و تاریخچه در رایانه هر توسعه دهندهای در دسترس است که امکان شاخه بندی و ادغام آسان را برای آنها فراهم می کند. طبق نظرسنجی از توسعه دهندگان استک اورفلو بیش از 87٪ از توسعه دهندگان از گیت استفاده می کنند.
هاب در گیتهاب به چه معناست؟
همانطور که گفتیم، گیت یک سیستم کنترل ورژن به شمار میرود که در عین شباهت با دیگر سیستمها، برتریهایی هم نسبت به آنها دارد؛ اما چه مواردی باعث برتری آن میشود؟
کلمهی هاب اشاره به دستگاه قدیمی هاب در علم شبکه دارد که قادر بود یک سری سیستم را بهصورت یک شبکه واحد به هم متصل کند. حال گیتهاب قدمی فراتر گذاشته و کل جهان را مثل یک شبکه به هم متصل کرده است. فضایی که توسعهدهندگان فایلهای خود را در آن ذخیره میکنند، قابل اشتراکگذاری با تمام افراد جهان است.
بیایید باهم دلایل علاقهی توسعهدهندگان به گیتهاب را بررسی کنیم و بیشتر با ویژگیهای منحصربهفرد آن آشنا شویم.
بنابراین گیتهاب چیست؟
گیت هاب یک شرکت انتفاعی است که سرویس میزبانی مخزن گیت مبتنی بر فضای ابری را ارائه میدهد. اساساً استفاده از گیت برای کنترل ورژن و همکاری برای افراد و تیمها بسیار راحت تر است.
رابط کاربری گیت هاب به اندازه کافی کاربرپسند است، بنابراین حتی رمزگذاران تازه کار نیز میتوانند از مزایای گیت استفاده کنند. بدون گیت هاب استفاده از گیت معمولاً به کمی درک فنی و استفاده از خط فرمان نیاز دارد. البته گیتهاب آنقدر کاربر پسند است که برخی افراد حتی از گیتهاب برای مدیریت انواع دیگر پروژهها مانند نوشتن کتاب هم استفاده میکنند.
علاوه براین هر کسی میتواند یک مخزن کد عمومی را به صورت رایگان ثبت نام و میزبانی کند که این امر باعث محبوبیت ویژه گیتهاب در پروژه های منبع باز میشود.
به عنوان یک شرکت گیتهاب با فروش مخازن کد خصوصی میزبان و همچنین سایر برنامههای متمرکز بر تجارت که مدیریت اعضای تیم و امنیت سازمانها را آسانتر میکند درآمد کسب میکند.
بررسی رابط گیتهاب
برای اینکه درک اولیه ای از رابط گیتهاب به شما بدهیم، در کد منبع وردپرس است که در مخزن گیتهاب میزبانی شده است:
از اینجا میتوانید شاخههای مختلفی که روی آن در حال کار هستند و همچنین زمانی که کسی تعهدی داده است را ببینید (این کار نوعی «ذخیره» پرونده است). بسته به نحوه تنظیم یک مخزن شما میتوانید شاخه خودتان را هم ایجاد کنید و تعهدات خود را در آنجا انجام دهید و پس از انجام برخی تغییرات، میتوانید آن کد را با ایجاد یک درخواست برای ارسال به شاخهای، ارسال کنید. اساساً درخواست ارسال این است که از فردی که مسئول آن شاخه است بخواهید کد شما را درج کند و این کار به آن فرد کمک می کند تا دقیقاً آنچه را که در کد تغییر داده اید را هم مشاهده کند.
اگر میخواهید بعضی یا همه کد منبع وردپرس را به صورت دائمیتر در حساب خود ویرایش کنید میتوانید با کلیک روی دکمه Fork آن را انشعاب دهید (انشعاب از نظر مفهوم به شاخه شبیه است، اما انشعاب ماندگارتر است) :
وردپرس در اصل یک انشعاب از b2/cafelog بوده است. اگر میخواهید کمی بیشتر در مورد چگونگی استفاده از گیتهاب اطلاعات کسب کنید راهنمای Hello World گیتهاب یک آموزش برای مبتدیان برای شروع کار ارائه میدهد.
اصطلاحات رایج در گیت هاب
- Repository
- fork
- Pull Request
- commit
Repository یا به اختصار Repo به معنای مخزن است. مخزن گیت هاب محیطی برای ذخیره سازی پروژههای توسعه دهندگان است. در این مخزن میتوان هر فولدر یا فایلی را با فرمت دلخواه ایجاد کرد.
fork در فارسی به معنای شاخه یا انشعاب است. با این قابلیت شما میتوانید روی پروژههای متن باز موجود در گیت هاب کار کنید. اگر پروژهای از قبل وجود داشته باشد، میتوانید از آن یک انشعاب دریافت و تغییراتی را روی آن اعمال کنید. سپس آن را به عنوان یک پروژه جدید منتشر کنید.
Pull Request یا درخواست ادغام، قلب تپندهی مشارکت در پروژه هاست. زمانی استفاده میشود که شما از پروژهی اصلی یک شاخه دریافت و درآن تغییراتی اعمال کردهاید. حالا با کمک Pull Request میتوانید به شخص اصلی ایجاد کنندهی پروژه، درخواست بدهید تغییرات شما را در پروژهی اصلی اعمال کند.
به هر تغییری در گیتهاب نیز Commint میگویند.
راه های دیگر استفاده از گیت و گیتهاب با وردپرس
بسیاری از توسعه دهندگان قالب و پلاگین وردپرس کد منبع پروژههای خود را در گیتهاب میزبانی میکنند. اما پلاگینهای وردپرس هم هست که به شما کمک می کنند با وردپرس از گیت به طور مستقیم تری استفاده کنید.
به عنوان مثال ورژن پرس قصد دارد قدرت گیت را به اقدامات منظم وردپرس مانند به روزرسانی پست یا نصب یک افزونه وارد کند. ورژن پرس کنترل ورژن را برای هر دو پایگاه داده وردپرس و پروندههای شما اضافه میکند.
وردپرس پوشر یکی دیگر از افزونه های مبتنی بر گیت است که به شما این امکان را میدهد که تمها و پلاگینها را مستقیماً از گیتهاب در سایت وردپرس خود مستقر کنید.
نحوه شروع کار با گیت-هاب
برای شروع کار با گیتهاب، برای یک حساب گیت-هاب رایگان ثبت نام کنید. و کدهای خود را در آنجا استفاده کنید و به سایر کدنویسان دنیا آشنا شوید ?
و مهمترین نکته این هست که بدانید گیتهاب فقط برای برنامهنویسان نیست!
نکتهی جالبتوجه اینجاست که تنها این توسعهدهندگانِ وب نیستند که از سیستم گیتهاب استفاده میکنند. هر تیمی که در حال اعمال تغییرات بر روی پروژهای است میتواند با امکاناتی که گیتهاب در اختیارش میگذارد به پیشروی پروژهی خود کمک کند. اگر در تیم خود، دائماً در فایلهای ورد خود تغییر ایجاد میکنید، میتوانید از گیتهاب بهعنوان سیستم کنترل ورژن استفاده کنید. البته این راهکار چندان هم رایج نیست؛ چراکه در اغلب مواقع جایگزینهای بهتری هم وجود دارند، اما بهتر است که گیتهاب را هم به خاطر بسپرید.
ادتریس نیز مانند بسیاری از تجارتها و اپلیکیشن های دیگر کدهای خود را به صورت اوپن سورس (Open-Source) در گیتهاب قرارداده است. همچنین چنانچه تمایل دارید در مورد Open Source Sdk بیشتر بدانید، مقالههای قبلی بلاگ ترکر ادتریس را مطالعه کنید.