گیت هاب چیست؟
برای گیت هاب تعاریف متعددی در سرتاسر وب وجود دارد. گیت هاب یک “شبکه اجتماعی در فضای ابری برای برنامهنویسان و یک پلتفرم همکاری برای توسعهدهندگان است که بزرگترین فضای ذخیرهسازی برای کارهای اشتراکی و توزیعیافته دنیا” به شمار میرود.
گیت هاب به عنوان بزرگترین هاست برای میزبانی پروژههایی ایجاد شده که از سیستم کنترل ورژن گیت استفاده میکنند. به زبان سادهتر، گیت هاب یک سیستم مدیریت پروژه، نسخهبندیِ کد و همچنین یک شبکه اجتماعی برای توسعهدهندگان و برنامهنویسان است که بزرگترین منبع موجود برای ذخیرهسازی کارهایی است که بهصورت مشترک ایجاد شدهاند.
کلمه گیت هاب از دو قسمت تشکیل شده است. گیت (Git) و هاب (Hub) که باید برای یادگرفتن گیت هاب، هر دو جزء این کلمه را درک کنیم. پس از آن لیست واژگان و مفاهیم مهمی را که برای تعریف کامل گیت هاب به زبان ساده نیاز داریم، ارائه میکنیم.
گیت چیست؟
گیت (Git) سیستم کنترل ورژن منبع باز است که Linus Trovalds آن را ابداع کرده است. اما کنترل ورژن چیست؟
مثلاً وقتی که برنامهنویسان یک برنامه میسازند، پس از اولین نسخه منتشر شده تغییرات زیادی در کد انجام میدهند. کنترل ورژن این تغییرات را ساده میکند و تمام اصلاحات را در یک انبار (repository) ذخیره میکند. این قابلیت به برنامهنویسان و همچنین اعضای تیم برنامهنویسی کمک میکند تا بهراحتی نسخه جدید نرمافزار را دانلود کرده، در آن تغییرات ایجاد کنند و بعد از آخرین بازبینی آن را دوباره بهروزرسانی کنند.
کنترل ورژن کار را ساده میکند!
برای مثال پروژه عظیم وردپرس را در نظر بگیرید. اگر هر برنامهنویسی بخواهد بر روی بخشی از کد وردپرس کار کند، نمیتوان با اطمینان کامل منبع کد اصلیِ رسمی را در اختیار وی قرار داد تا هر تغییری که میخواهد اعمال کند. به جای آن، کنترل ورژن به توسعه دهندگان اجازه میدهد بر روی یک شاخهی موازی از پروژه کار کرده و سپس تغییرات را ادغام کنند (که در ادامه در مورد آن توضیح داده شده است).
از طرف دیگر، افرادی که اصلاً به توسعهی پروژه ارتباطی ندارند نیز میتوانند این فایلها را دانلود کرده و از آن استفاده کنند. از مزایای گیت نسبت به سایر روشهای کنترل ورژن این است که فایلهای تغییرات را با بهره بیشتر ذخیره میکند و از یکپارچگیِ فایل مطمئن میشود.
هاب چیست؟
کلمۀ هاب را ممکن است در جاهای دیگری هم شنیده باشید که معنیِ آن کم و بیش در تمام کلمات و عبارتها یکسان است. در حالت کلی، طبق تعریف فرهنگ لغت آکسفورد، بهصورت خلاصه هاب مرکز یک فعالیت، منطقه و یا یک شبکه است. برای مثال USB Hub را در نظر بگیرید، در اینجا هاب مرکزی برای ارتباطات USB و مکانیست که تمام فعالیتهای مربوط به گیت حول محور آن رخ خواهد داد.
مفاهیم مهم برای تعریف گیت هاب
در ادامه، بعضی از مفاهیم مهم را که برای پاسخ به گیت هاب چیست با آن روبرو میشویم، ارائه کردهایم. در واقع این مفاهیم هستند که گیت هاب را اینقدر خاص و محبوب کردهاند.
Repository چیست؟
معادل فارسیِ Repository را میتوان منبع یا انبار عنوان کرد که به صورت مخفف به آن Repo هم گفته میشود. همانطور که از معادل فارسیِ این مفهوم مشخص است، Repo مکانیست که مانند یک انبار تمام فایلهای یک پروژه در آن ذخیره میشود. به عبارت دیگر هر پروژه دارای repo مربوط به خود است که با یک آدرس URL منحصربهفرد، قابل دسترسی است.
Fork چیست؟
به فارسی میتوان Fork را معادل چنگال، شاخه یا شعبه دانست. شاخه وقتی به کار میرود که میخواهید پروژهای را بر اساس یک پروژۀ دیگر که از قبل موجود است، بسازید.
با استفاده از این ویژگی میتوانید پروژهای را که از قبل وجود دارد، برای خود منشعب کنید (Repo آن را برای خود دریافت کنید)، تغییراتی در آن ایجاد کنید و در نهایت این پروژه را به عنوان یک repo و پروژه جدید منتشر سازید. اگر منبع اولیهای که از آن شاخه ساختید، بهروزرسانی شود، این آپدیت را میتوانید به راحتی به انشعاب خود اضافه کنید.
Branch چیست؟
Branch یا شاخه در واقع یک کپی از شاخه اصلی یا اورجینال است. این شاخهها برای اعمال تغییرات و اضافه کردن ویژگیهایی استفاده میشود که کاملاً از شاخه اورجینال مجزا است. پس از آماده شدن این تغییرات، میتوان آنها را با پروژه اصلی ادغام (Merge) کرد که با Pull Request انجام میشود.
برای خریدن محصول دوره طراحی سایت درگیت هاب کلیک کنید