گیت هاب چیست

مدت مطالعه » 5 دقیقه
گیت هاب چیست

اگر در دنیای برنامه نویسی و طراحی سایت دستی داشته باشید، حتما اسم گیت هاب را شنیده اید، در مقاله امروز آموزشگاه کامپیوتر پرتو می خواهیم به این سئوال پاسخ دهیم که گیت هاب چیست و چگونه کار می کند، با ما همراه باشید.

زندگی انسان در دنیای امروز ، با برنامه نویسی گره خورده.بدون وجود برنامه هایی که توسط برنامه نویسان نوشته شده تا حد بسیار زیادی ارتباط خود با اطرافیانمان را از دست خواهیم داد.به عنوان مثال برنامه هایی چون اسنپ ، دیج کالا ، اینستاگرام ، تلگرام و … جزو محصولاتی هستند که با استفاده از دانش برنامه نویسی و توسط تیمی از برنامه نویسان نوشته شده است و موجب گسترش میزان ارتباطات ما و بهبود عملکرد بسیاری از امور روزانه ما میگردند.

در کلاس آموزش php و کلاس آموزش طراحی سایت ، در مورد گیت و گیت هاب، چرایی و چیستی آنها صحبت کرده ایم اما امروز می خواهیم در یک مقاله کوتاه، گیت ها را برای شما تعریف کنیم .

اما یکی از واژه هایی که در دنیای برنامه نویسی بسیار به گوشتان میخورد ، مفهومی به نام گیت هاب است .اما گیت هاب چیست ؟در این مطلب سعی نموده ایم که در مورد این عبارت ،هر آنچه را باید بدانید در اختیارتان قرار دهیم تا با مفهوم و کاربرد آن آشنا گردید.

برای درک هر عبارتی لازم است تا تعریفی کلی از آن داشته باشیم .بدین منظور بهترین تعریف را از این واژه برایتان شرح میدهیم که ترکیبی از تمامی مفاهیم موجود در وب است .
گیت هاب شبکه ای اجتماعی است که در فضای ابری وجود دارد و یک پلتفرم برای برنامه نویسان است که بزرگترین فضای اشتراک گذاری و ذخیره سازی را در دسترسشان قرار میدهد.
در واقع گیت هاب بزرگترین هاست برای میزبانی پروژه هایی است که از سیستم کنترل ورژن گیت استفاده میکنند.

به بیانی ساده تر : گیت هاب یک سیستم مدیریت پروژه و نسخه بندی و علاوه برآن یک شبکه اجتماعی برای برنامه نویسان و توسعه دهندگان است که بزرگترین منبع موجود در سراسر وب به منظور ذخیره سازی پروژه هایی است که بصورت مشترک بین چندین برنامه نویس در حال نوشتن و پیاده سازی است .

تاریخچه گیت هاب

در سال 2009 اعضای تیم گیت هاب ، در گفتگویی که با شرکت یاهو داشتند اعلام نمودند که در طول یکسال فهالیت خود توانسته است بیش از 46000 مخزن عمومی را جمع آوری نماید که بیش از 17000 تای آن ها در چند ماه اخیر ذخیره شده است .این پیشرفت ها ادامه داشت تا اینکه در سال 2013 گیت هاب اعلام نمود که بیش از 3 میلیون کاربر و بیش از 5 میلیون مخزن را میزبانی نماید .و سرانجام در سال 2018 گیت هاب به بالاترین نرخ تبادل اطلاعات یعنی 1.35 ترابیت در ثانیه رسید و امروزه به عنوان یک منبع پربازدید در جهان مطرح است .

اما واژه گیت هاب از دو کلمه مجزای “گیت” و “هاب” تشکیل شده است که به منظور درک بهتر این عبارت لازم است تا با معانی تک تک این واژه ها آشنا شویم.بنابراین در ادامه مطلب به بررسی بیشتر این کلمات خواهیم پرداخت ;

گیت چیست

“گیت” اولین بخش از عبارت گیت هاب است که اولین نسخه آن در سال 2005 و توسط پدید آورنده لینوکس یعنی Linus Trovalds در زمانی که با هم تیمی های خود بر روی پروژه لینوکس کار میکردند ساخته شد و دلیل ابداع آن نیز این بود که مدیریت کار گروهی بر روی پروژه هایی که چندین برنامه نویس با حجم زیادی از کدها بر روی آن کار میکنند ، کاری سخت است . گیت اساس کار بسیاری از استارت آپ های امروزی است و برنامه نویسانی که میخواهند در این گونه پروژه های عظیم سهیم شوند لازم است تا با گیت آشنایی داشته باشند.
گیت یک سیستم کنترل ورژن Open Source است .اما کنترل ورژن به چه معناست ؟
پس از اینکه یک برنامه توسط برنامه نویسان نوشته شد ، نیاز به اصلاحات و تغییرات زیادی دارد که لازم است در ورژن های بعدی آن برنامه لحاظ گردد بنابراین برنامه نویسان این تغییرات را در کدها اعمال میکنند.سیستم کنترل ورژن موجب میشود این تغییرات آسان تر شده و در یک انبار repository ذخیره شود.با استفاده از این قابلیت برنامه نویسان قادر خواهند بود تا آخرین نسخه را دانلود نموده و تغییرات مورد نظرشان را در آن اعمال نموده و آخرین بازبینی را دوباره آپدیت نمایند.
علاوه بر این افرادی که در پروژه سهیم نیستند و برای تجربه میخواهند در جریان امور قرار گیرند نیز میتوانند این فایل ها را دانلود نموده و از آن ها استفاده کنند.

هاب چیست

دومین بخش از عبارت گیت هاب ،واژه “هاب” است .ممکن است واژه هاب را در موارد دیگری نیز شنیده باشید که در تمام این موارد کم و بیش یکسان است .طبق تعریفی که از واژه هاب در لعتنامه آکسفورد ذکر شده ، هاب به مرکز یک فعالیت ، منطقه و یا شبکه گفته میشود.به عنوان مثال هاب USB .به معنی مرکز ارتباطات تمام USBها .به بیانی دیگر ، یعنی مرکزی که تمام فعالیت ها حول آن میچرخد.

ثبت نام در گیت هاب

ثبت نام در گیت هاب

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

در صورتیکه قصد آشنایی با گیت هاب را داشته باشید ، لازم است تا با مفاهیم کلی آن آشنا شوید.این اصطلاحات عبارتند از :
Repository : معادل فارسی انبار یا مخزن است که در حوزه برنامه نویسی بطور خلاصه به آن Repo گفته میشود.همانطور که از نام معادل فارسی آن نیز مشخص است ، Repo به معنی محلی است که تمام فایل های یک پروژه در آن ذخیره میگردد .مانند یک انبار برای یک پروژه.هر پروژه دارای یک Repo مخصوص به خود است که با یک آدرس URL مشخص شده است .
Fork : واژه Fork در فارسی به معنی چنگال ، شعبه یا شاخه است .این واژه معمولا به شکل فعل بکار میرود .به معنی ایجاد یک انشعاب یا شاخه (Forking) .یک انشعاب در زمانی به کار میاید که بخواهیم پروژه ای را بر مبنای پروژه دیگر ایجاد نماییم.این یکی از ویژگی های منحصر بفرد گیت هاب است .بدین منظور میتوانید از پروژه ای که از قبل وجود داشته استفاده نمایید و آن را انشعاب دهید .بدین معنی که URL اختصاصی آن را دریافت نمایید و پس از آن بر روی این پروژه تغییرات مورد نظرتان را اعمال نمایید و در نهایت آن را به عنوان یک Repo جدید منتشر نمایید .علاوه بر این در زمانی که منبع اصلی برزرسانی گردد ،میتوانید شاخه مورد نظرتان را نیز آپدیت نمایید .
Branch : واژه Brach معادل واژه Fork است .Branch دقیقا یک کپی از نسخه اصلی ایجاد میکند که از آن کاملا مجزاست و برای اعمال تغییرات و اضافه نمودن ویژگی ها بر روی آن مورد استفاده قرار میگیرد.پس از اعمال تغییرات مورد نظر ، میتوانید آن ها را پروژه اصلی Merg (ادغام) نموده .ادغام شاخه Branch و نسخه اصلی با استفاده از Pull Request صورت میپذیرد.
Pull Request : این عبارت در فارسی به معنای درخواست یکپارچه سازی است .این درخواست در زمانی اعلام میگردد که شما تغییراتی را بر روی شاخه ای از برنامه اعمال نموده اید و میخواهید این تعییرات تسط دیگر برنامه نویسان مورد استفاده قرار گیرد و در Repo اولیه قرار بگیرد.بدین منظور لازم است تا یه Pull Request ایجاد نمایید .در این زمان دیگر برنامه نویسان تغییر اعمال شده توسط شما را خواهند دید و در صورت نیاز این تغییرات را در پروژه خود بکار خواهند برد.
Commit : هر تغییر یک Commit به حساب میاید که هر کدام دارای یک توضیح در مورد علت ایجاد این تغییر است .
سابقه تغییرات : یکی از قابلیت های مهم گیت هاب ، ذخیره تمامی تغییراتی است که در طول پروژه بر روی آن اعمل شده است .بدین معنی که برنامه نویسان دیگر نباید نگران این باشند که تغییرات توسط چه کسی و چه زمانی انجام شده و آخرین فایل ها در کجا ذخیره شده اند.تمامی این موارد بطور خودکار توسط گیت هاب صورت میپذیرد.
امکانات شبکه های اجتماعی : یکی از ویژگی های گیت هاب که موجب قدرتمند شدن بیش از پیش آن شده ، استفاده از امکانات شبکه های اجتماعی است .در گیت هاب هر یک از برنامه نویسان دارای پروفایل کاربری مخصوص به خود است که یک رزومه مخصوص به خود و همکاری هایی که توسط درخواست های ادغام انجام داده است را در آن دارد.با استفاده از امکانات شبکه های اجتماعی میتوان پروژه ها را مورد بررسی عمومی قرار داد.بدین منظور لازم است تا منبع کد را باز نموده تا محموعه ای از تغییرات ایجاد شده ، برنامه نویسان مشارکت کننده ، ورژن های مختلف پروژه و نظر دیگر برنامه نویسان را مطالعه نمود.
وجود این امکانات در کنار رابط کاربری آسان و روان گیت هاب موجب شده تا به یکی از بهترین گزینه های موجود در بین رقبا قلمداد شود.اما این رقبا چه پلتفرم هایی هستند؟

جایگزین های گیت هاب

محبوبیت بالای گیت هاب موجب شده تا بسیاری از افراد تنها و تنها از این پلتفرم استفاده نموده و با دیگر رقیبان غریبه باشند .اما گیت هاب رقبایی دارد که در طی سالیان اخیر و با تلاش های بسیار توانسته اند خود را به گیت هاب نزدیک نمایند.در واقع برخی از این رقبا توانسته اند برتری خود را با استفاده از ارتقای کیفیت عملکردی یک یا چند ویژگی مثبت از گیت هاب افزایش دهند.در ادامه به ذکر نام ده مورد از برترین رقبای گیت های پرداخته ایم :
• GitLab
• Microsoft Team Foundation Server
• SourceForge
• Phabricator
• Gerrit
• Assembla
• BitBucket
• CircleCI
• Jenkins
• BeansTalk
گیت لب یکی از مهمترین رقبای گیت هاب است که در سال های اخیر به دنبال بدست آوردن سهم بیشتری از بازار و به کنار زدن گیت هاب است .مهمترین ویژگی گیت لب ، دارا بودن امکانات بیشتر در نسخه رایگان آن است .این در حالی است که بسیاری از امکانات در گیت هاب ، پس از شارژ نمودن اکانت ، برای برنامه نویس قابل مشاهده است .علاوه بر این سطح دسترسی افراد مختلف در زمانی که بخواهند به جزئیات بیشتری دسترسی داشته باشند نیز بیشتر است.بدین معنی که میزان دسترسی افراد به بخش های مختلف کد بر اساس نقششان در کد نویسی تعیین میردد اما در گیت هاب افراد تنها میتوانند یکی از اعمال خواندن و یا خواندن و نوشتن را انجام دهند.

نکاتی در مورد گیت هاب که شاید ندانید

• همانگونه که در قبل تر عنوان شد ، گیت هاب یک شبکه اجتماعی است .بدین معنی که میتوان با فالو کردن افراد دیگر ، امکان لایک و کامنت گذاشتن را فراهم نموئ
• در سال 2017 ، گیت هاب با داشتن 20 میلیون کاربر و 57 میلیون مخزن ،عنوان مالک بزرگترین مخزن کد را در جهان از آن خود کرد
• در سال 2019 ، گیت هاب با ارسال پیامی توسط ایمیل به کاربران ایرانی خود اعلام داشت که دسترسی آن ها به گیت هاب مسدود شده است که کاربران ایرانی را واداشت تا با ساختن IP غیر ایرانی به خدمات این پلتفرم دسترسی پیدا نمایند.
• گیت هاب قابلیت استفاده در اسناد و مدارک را دارد .مانند فایل های Read me که در فرمت های مختلف مورد عرضه واقع میشوند

کاربردهای گیت هاب

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

امکانات رایگان گیت هاب

گیت هاب نیز مانند بسیاری از پلتفرم ها و امکانات دیگری که در وب موجود است ، دارای طرح های رایگان و پرمیوم (پولی) است .بطور کلی پلتفرم گیت هاب ، دارای دو طرح فردی و گروهی است .در طرح های تک نفره و فردی دو حالت رایگان و پرمیوم وجود دارد که یکی از ویژگی های مهم این طرح ، عدم محدودیت زمانی آن است .بدین معنی که میتوانید پس از ایجاد یک اکانت رایگان ، برای همیشه از Repoهای نامحدود خصوصی و عمومی استفاده نموده،پروژه ها را مدیریت نموده و ایرادات و باگ های احتمالی در پروزه ها را ردیابی نمایید .
اما در طرح های پرمیوم (غیر رایگان) ، امکانات بسیار بیشتری برای برنامه نویسان فراهم است که از آن جمله میتوان به همکاران نامحدود که در حالت رایگان 3 نفر بودن ، شاخه های حفاظت شده ، ایجاد ویکی ها ، گراف ها و نمودارهای مختلف ، اشاره نمود.در حال حاضر قیمت اکانت های غیر رایگان ، برای پلن های حرفه ای از 7 دلار به ازای هر ماه شروع میشود.
قیمت پلن های گروهی که امکاناتی چون : کنترل دسترسیِ افراد تیم ، مدیریت کاربران و صدور قبض است را در اختیار برنامه نویس قرار میدهد ، از 9 دلار به ازای هر ماه شروع میشود.
در صورتی که پلن شرکتی که بالاترین و آخرین پلن است را مد نظر داشته باشید ، لازم است تا با شرکت گیت هاب تماس گرفته و قیمت را بصورت لحظه ای استعلام نمایید .

کاربران مطرحِ گیت هاب

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

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

به منظور استفاده از گیت هاب لازم است تا به سایت اصلی این پلتفرم وارد شوید و نسبت به ساختن یک اکانت کاربری در آن اقدام نمایید .پس از آن قادر خواهید بود ، دیگر کاربران را فالو نموده ، کدهای Public ایشان را مورد بررسی قرار دهید و در صورت نیاز از آن ها استفاده نمایید .علاوه بر این میتوانید با استفاده از گیت هاب وبلاگی را برای خود و با استفاده از کدنویسی ایجاد نموده که این وبلاگ به عنوان یک نمونه کار برای دیگر افراد قابل مشاهده است .

روش استفاده از گیت هاب برای افرادی که در ایران حضور دارند

در سال 2019 کشور آمریکا با صدور بیانیه ای اقدام به محدود سازی کاربران ایرانی و چند کشور دیگر نمود.به همین دلیل بسیری از کاربرانی که در این کشورها سکونت داشتند ، با مشکل دسترسی به پروژه های خود مواجه شدند.در این زمان ، افراد ، ناچار به استفاده از پروکسی هایی شدند که با استفاده از تغییر IP بتوانند به کدهای خود دسترسی پیدا نمایند.
اما پس از اندک مدتی ، گیت هاب متوجه این روش رفتاری شد و دوباره با وجود پروکسی نیز اقدام به مسدود سازی حساب کاربران ایرانی نمود.در این صورت لازم بود تا برنامه نویسان با روش های مختلفی بتوانند به منابع کد خود دسترسی پیدا نمایند.این روش ها عبارتند از :
• ایجاد حساب کاربری با IP غیر ایرانی : در صورتیکه همچنان مایل به استفاده از امکانات گیت هاب هستید ، لازم است تا حساب کاربری خود را با IP غیر از IP ایران ایجاد نمایید .علاوه بر این نامی که میخواهید ایجاد نمایید نیز نباید ایرانی باشد.علاوه بر این ها ایمیل مورد استفاده شما نیز لازم است تا به فردی غیر ایرانی منسوب شده باشد و هرگز در زمان دسترسی از IP ایرانی استفاده ننمایید .
• اتصال مستقیم به سرور : روش دوم این است که در صورت نیاز بشکلی مستقیم به سرور متصل شده و تغییرات مورد نظرتان را بر روی سرور اعمال نمایید.بدین منظور میتوانید یک پروکسی را بر روی سیستم خود نصب نمایید.البته این روش مزایای گیت هاب را ندارد.زیرا توانایی اعمال سطوح دسترسی را نداشته و قادر نخواهید بود فایل خود را مدیریت نمایید .

در صورتیکه سوال و یا نظری دارید ، آن را در این قسمت برایمان بنویسید

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید ؟
در گفتگو ها شرکت کنید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مقاله
گیت هاب چیست
نام مقاله
گیت هاب چیست
خلاصه
به این نکته توجه داشته باشید که استفاده از گیت هاب تنها مختص به برنامه نویسان نیست و تمام گروه هایی که میخواهند بطور بهینه ای پروژه خود را مدیریت نمایند میتوانند از گیت هاب استفاده نمایند.به عنوان مثال پروژه ترجمه یک کتاب را در نظر بگیرید که هر فرد بر روی قسمتی از یک پروژه کار میکند و پروژه نیازمند بروزرسانی های متعدد است
نویسنده
منتشر کننده
آموزشگاه کامپیوتر پرتو
لوگو
مشاوره و ثبت نام -02166959852
×