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

آخرین به‌روزرسانی: ۲۷ فروردین ۱۴۰۳
گیت‌هاب چیست؟
گیت‌هاب چیست؟

گیت‌هاب یک وب سایت و سرویس مبتنی بر فضای ابری است که به توسعه دهندگان سایت کمک می­کند تا کد خود را ذخیره و مدیریت کنند و همچنین تغییرات کد خود را ردیابی و کنترل کنند.

سایت گیت‌هاب همهٔ عملکردهای مورد نیاز کاربران در یک جامعه مجازی را در دسترس قرار داده‌است. برخی از این عملکردها عبارتند از: فید، دنبال‌کننده و گراف شبکه برای نمایش دادن توسعه دهندگانی که بر یک نسخهٔ مرجع (مخزن) کار می‌کنند.
گیت‌هاب همچنین سرویس‌های دیگری به نام سایت گیست که در نوع خود یک سایت را ارائه می‌دهد. این سایت یک ویکی برای توسعه دهندگان انفرادی به‌شمار می‌آید. از ژانویه ۲۰۱۰ گیت‌هاب تحت همین نام گیت‌هاب به فعالیت‌های خود ادامه داد. گیت‌هاب مخازن خصوصی و آزاد را برای میزبانی پروژه‌های نرم‌افزار منبع باز، که معمولاً استفاده می‌شود، را ارائه می‌دهد.

برای درک دقیق اینکه گیتهاب چیست باید دو اصل مرتبط را بدانید:

  1. کنترل ورژن چیست؟
  2. گیت و هاب چیست؟

در این مقاله ابتدا این دو اصل را توضیح خواهیم داد و سپس در مورد گیتهاب و اینکه چگونه شما واقعاً می­توانید از گیت‌هاب برای کار با وردپرس و… استفاده کنید اطلاعات بیشتری ارائه خواهیم داد.

what-is-github-1-1-1024x512-1-768x384.png

کنترل ورژن گیت‌هاب چیست؟

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

با شاخه بندی، یک توسعه دهنده بخشی از کد منبع (که به آن مخزن می­گویند) را کپی می­کند. سپس توسعه دهنده می­تواند با خیال راحت تغییراتی در آن قسمت از کد ایجاد کند بدون اینکه بر بقیه پروژه تأثیری بگذارد. سپس هنگامی که سازنده بخشی از کد خود را اصلاح کرد، می­تواند دوباره آن کد را در کد منبع اصلی گذاشته و ثبت کند. پس از آن همه این تغییرات ردیابی می­شوند و در صورت لزوم قابل برگشت هستند.

گیت چیست؟

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

what-is-github-0-768x430.png

هاب در گیت‌هاب به چه معناست؟

همان‌طور که گفتیم، گیت یک سیستم کنترل ورژن به شمار می‌رود که در عین شباهت با دیگر سیستم‌ها، برتری‌هایی هم نسبت به آن‌ها دارد؛ اما چه مواردی باعث برتری آن می‌شود؟

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

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

بنابراین گیت‌هاب چیست؟

گیت هاب یک شرکت انتفاعی است که سرویس میزبانی مخزن گیت مبتنی بر فضای ابری را ارائه می­دهد. اساساً استفاده از گیت برای کنترل ورژن و همکاری برای افراد و تیم­ها بسیار راحت تر است.

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

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

به عنوان یک شرکت گیتهاب با فروش مخازن کد خصوصی میزبان و همچنین سایر برنامه­های متمرکز بر تجارت که مدیریت اعضای تیم و امنیت سازمان­ها را آسان­تر می­کند درآمد کسب می­کند.

بررسی رابط گیت‌هاب

برای اینکه درک اولیه ای از رابط گیتهاب به شما بدهیم، در کد منبع وردپرس است که در مخزن گیتهاب میزبانی شده است:

what-is-github-1-768x484.png

از اینجا می­توانید شاخه­های مختلفی که روی آن در حال کار هستند و همچنین زمانی که کسی تعهدی داده است را ببینید (این کار نوعی  «ذخیره» پرونده است). بسته به نحوه تنظیم یک مخزن شما می­توانید شاخه خودتان را هم ایجاد کنید و تعهدات خود را در آنجا انجام دهید و پس از انجام برخی تغییرات، می­توانید آن کد را با ایجاد یک درخواست برای ارسال به شاخه­ای، ارسال کنید. اساساً درخواست ارسال این است که از فردی که مسئول آن شاخه است بخواهید کد شما را درج کند  و این کار به آن فرد کمک می کند تا دقیقاً آنچه را که در کد تغییر داده اید را هم مشاهده کند.

اگر می­خواهید بعضی یا همه کد منبع وردپرس را به صورت دائمی­تر در حساب خود ویرایش کنید می­توانید با کلیک روی دکمه   Fork آن را انشعاب دهید (انشعاب از نظر مفهوم به شاخه شبیه است، اما انشعاب ماندگارتر است) :

وردپرس در اصل یک انشعاب از b2/cafelog بوده است. اگر می­خواهید کمی بیشتر در مورد چگونگی استفاده از گیتهاب اطلاعات  کسب کنید راهنمای Hello World گیتهاب یک آموزش برای مبتدیان برای شروع کار ارائه می­دهد.

اصطلاحات رایج در گیت‌ هاب

  • Repository
  • fork
  • Pull Request
  • commit

what-is-github-2-768x395.png

Repository یا به اختصار Repo به معنای مخزن است. مخزن گیت هاب محیطی برای ذخیره سازی پروژه‌های توسعه دهندگان است. در این مخزن می‌توان هر فولدر یا فایلی را با فرمت دلخواه ایجاد کرد.

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

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

به هر تغییری در گیت‌هاب نیز  Commint می‌گویند.

راه های دیگر استفاده از گیت و گیت‌هاب با وردپرس

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

به عنوان مثال ورژن پرس قصد دارد قدرت گیت را به اقدامات منظم وردپرس مانند به روزرسانی پست یا نصب یک افزونه وارد کند. ورژن پرس کنترل  ورژن را برای هر دو پایگاه داده وردپرس و پرونده­های شما اضافه می­کند.

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

نحوه شروع کار با گیت-هاب

برای شروع کار با گیتهاب، برای یک حساب گیت-هاب رایگان ثبت نام کنید. و کدهای خود را در آنجا استفاده کنید و به سایر کدنویسان دنیا آشنا شوید ?

و مهمترین نکته این هست که بدانید گیت‌هاب فقط برای برنامه‌نویسان نیست!

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


ادتریس نیز مانند بسیاری از تجارت‌ها و اپلیکیشن های دیگر کدهای خود را به صورت اوپن سورس (Open-Source) در گیت‌هاب قرارداده است. همچنین چنانچه تمایل دارید در مورد Open Source Sdk بیشتر بدانید، مقاله‌های قبلی بلاگ ترکر ادتریس را مطالعه کنید.