گیت هاب (GitHub) :
بزرگترین
هاست برای میزبانی پروژههای توسعه دهندگان محسوب میشود که توسط یک شرکت آمریکایی ایجاد شده است.
گیت هاب هم به صورت رایگان برای پروژههای عمومی و هم بصورت پولی برای پروژههای تجاری قابل استفاده است.
هدف اصلی گیت هاب ایجاد محیطی برای کنترل ورژن و همکاری تیمی روی پروژه هاست.
به زبان سادهتر، گیت هاب یک سیستم مدیریت پروژه و نسخهبندیِ کد و همچنین یک شبکه اجتماعی
برای توسعهدهندگان و برنامهنویسان است که بزرگترین منبع موجود برای ذخیرهسازی کارهایی است که بهصورت مشترک ایجاد شدهاند.
کنترل ورژن در گیتهاب توسط گیت انجام میشود. درواقع گیت در گیتهاب یک سیستم کنترل ورژن (version control) است.
همچنین واژهی هاب به مفاهیم شبکه اشاره دارد که همکاری تیمی و ایجاد انشعاب در پروژهها را معرفی میکند.
گیت چیست؟
گیت (Git) اولین بخش کلمه گیت هاب است. گیت یک سیستم
کنترل ورژن منبع باز است که Linus Trovalds آن را ابداع کرده است.
اما کنترل ورژن چیست؟
وقتی که برنامهنویسان یک برنامه میسازند، پس از اولین نسخه منتشر شده تغییرات زیادی در کد انجام میدهند.
کنترل ورژن این تغییرات را ساده میکند، و تمام اصلاحات را در یک انبار (repository) ذخیره میکند.
این قابلیت به برنامهنویسان و همچنین اعضای تیم برنامهنویسی کمک میکند تا بهراحتی نسخه جدید نرمافزار را دانلود کرده،
در آن تغییرات ایجاد کنند و آخرین بازبینی را دوباره بهروزرسانی کنند.
هاب در گیتهاب به چه معناست؟
کلمهی هاب اشاره به دستگاه قدیمی هاب در علم شبکه داردکه قادر بود یک سری سیستم را بهصورت یک شبکه واحد به هم متصل کند.
حال گیتهاب قدمی فراتر گذاشته و کل جهان را مثل یک شبکه به هم متصل کرده است.
فضایی که توسعهدهندگان فایلهای خود را در آن ذخیره میکنند، قابل اشتراکگذاری با تمام افراد جهان است.
برای مثال USB Hub را در نظر بگیرید، در اینجا هاب یعنی یک مرکز برای ارتباطات USB. به عبارت دیگر مرکزی که تمام فعالیتها حول محور آن رخ میدهد.
سه ویژگی fork, pull request و merge هستند که GitHub را قدرتمند میکند:
Repository: معادل فارسیِ Repository را میتوان منبع یا انبار عنوان کرد که در گفتمان گیت هاب به صورت مخفف به آن Repo هم گفته میشود.
همانطور که از معادل فارسیِ این مفهوم مشخص است،
Repo مکانی است که تمام فایلهای یک پروژه در آن ذخیره میشود (مانند یک انبار برای آن پروژه).
به عبارت دیگر هر پروژه دارای repo مربوط به خود است که با یک آدرس URL منحصربهفرد، قابل دسترسی است.
fork : در فارسی به معنای شاخه یا انشعاب است. با این قابلیت شما میتوانید روی پروژههای متن باز موجود در گیت هاب کار کنید.
اگر پروژهای از قبل وجود داشته باشد، میتوانید از آن یک انشعاب دریافت و تغییراتی را روی آن اعمال کنید. سپس آن را به عنوان یک پروژه جدید منتشر کنید.
Pull Request: یا درخواست ادغام، قلب تپندهی مشارکت در پروژه هاست.
زمانی استفاده میشود که شما از پروژهی اصلی یک شاخه دریافت و درآن تغییراتی اعمال کردهاید.
حالا با کمک Pull Request میتوانید به شخص اصلی ایجاد کنندهی پروژه، درخواست بدهید تغییرات شما را در پروژهی اصلی اعمال کند.
به هر تغییری در گیتهاب یک commit میگویند.
در گذشته برای اینکه یک کاربر بتواند تغییراتی را در یک پروژه متن باز ایجاد کند باید ابتدا آن را دانلود میکرد، سپس تغییرات لازم را اعمال کند.
بعد از آن لیستی از تغییرات را به نام patch ایجاد و همراه پروژه به کاربر اصلی آن میفرستد.
کاربر اصلی ابتدا باید به کاربر غریبه اعتماد کند سپس patch را مشاهده و در صورت درست بودن تغییرات را اعمال کند.
اما در GitHub زمانی که یک pull request رخ میدهد، کاربر اصلی میتواند پروفایل درخواست دهنده را ببینید
و در صورت تایید (merge) به اعتبار درخواست کننده اضافه میشود.این اعتبار میتواند به عنوان یک روزمه شناخته شود.
سایت GitHub دارای ویژگی های دیگری نیز هست. موارد از قبیل انجمن برای پرسش و مشکلات ، ارسال پیغام خصوصی برای سایر اعضا و …
اگر بر روی پروژه های متن باز کار میکنید GitHub اولین قدم مهم است که باید بردارید.
بدست آوردن اعتبار و شهرت در دنیای برنامه نویسی با استفاده از GitHub امکان پذیر است.
گیت هاب امکانات بیشتری را در خود پیاده کرده که این سایت را تبدیل به شبکه اجتماعی برای برنامه نویسان کرده است.
چگونه می توانم در گیت هاب شروع به کار کنم؟
برای شروع شما باید در وب سایت گیت هاب به آدرس
github.com عضو شوید، پس از اینکه اکانت خود را ایجاد کردید یک پروفایل برای شما ایجاد می شود
که مثل سایر شبکه های اجتماعی می توانید بقیه برنامه نویسان را فالو کنید و کد ها و پروژه های Public آنها را مشاهده کنید و استفاده کنید.
همچنین خوبی دیگری که گیت هاب دارد این است که میتوانید یک وبلاگ با ان برای خود داشته باشید username.github.com و مزیت بهتر آن این است که
فقط افراد متخصص می توانند یک وبلاگ داشته باشند! چرا که باید یک ریپوزوتوری ایجاد کنید و صفحه وبلاگتان را خودتان کد نویسی کنید!
گیتهاب فقط برای برنامهنویسان نیست!
نکتهی جالبتوجه اینجاست که تنها این توسعهدهندگانِ وب نیستند که از سیستم گیتهاب استفاده میکنند.
هر تیمی که در حال اعمال تغییرات بر روی پروژهای است میتواند با امکاناتی که گیتهاب در اختیارش میگذارد به پیشروی پروژهی خود کمک کند.
اگر در تیم خود، دائماً در فایلهای ورد خود تغییر ایجاد میکنید،میتوانید از گیتهاب بهعنوان سیستم کنترل ورژن استفاده کنید.
البته این راهکار چندان هم رایج نیست؛ چراکه در اغلب مواقع جایگزینهای بهتری هم وجود دارند،
اما بهتر است که گیتهاب را هم به خاطر بسپرید.
امید وارم این مطلب برای شما مفید و آموزنده واقع شده باشد.