با رونق گرفتن بسترهای مختلف برنامه نویسی و طراحی سایت سرویس های مختلف، سازمان ها و برنامه نویسان برای ایجاد برنامه ها اقدام به همکاری با یکدیگر کردند و
این گونه بود که تصمیم گیری کردند سایت گیت هاب را بسازند.
بزرگ ترین مشکلات پیش روی برنامه نویسان، یکپارچه سازی، دسترسی بدون محدودیت جغرافیایی، مدیریت نسخه ها و حفظ پروژه ها از آسیب های احتمالی نظیر سوختن هارد دیسک بود.
به همین دلیل سرویس هایی نظیر گیت هاب برای کمک به سازمان ها و برنامه نویسان ایجاد شدند که این مشکلات را برطرف کنند.
برای آشنایی بیشتر با سایت گیت هاب در ادامه با ما همراه باشید.
1# مفهوم گیت (Git) چیست؟
برای آنکه بدانیم سایت گیت هاب چیست، ابتدا باید بدانیم سرویس گیت (Git) چیست.
Git در واقع یک سیستم کنترل نسخه به صورت منبع باز است که
توسط لینوس توروالدز (شخصی که لینوکس را ایجاد کرد) راه اندازی شد؛
اما کاربرد آن در گیت هاب چیست و چگونه کنترل نسخه را انجام می دهد؟
وقتی توسعه دهندگان چیزی (به عنوان مثال یک برنامه) ایجاد می کنند،
تغییرات و به روز رسانی هایی را به صورت مداوم روی آن انجام می دهند.
این تغییرات معمولا برای بهبود برنامه هایی انجام می شوند که آن ها را در نسخه های مختلف منتشر می کنند.
سیستم های کنترل نسخه مانند گیت، این اصلاحات مستقیم را نگه می دارند،
یعنی تغییرات را در مخزن مرکزی ذخیره می کنند.
این امکان به برنامه نویسان و توسعه دهندگان اجازه می دهد به راحتی بتوانند با یکدیگر همکاری کنند؛
زیرا هر کدام از آن ها می توانند نسخه جدید نرم افزار را دانلود کرده،
تغییرات دلخواه خود را روی آن اعمال و نسخه جدید ایجاد شده توسط خودشان را بارگذاری کنند.
تمام توسعه دهندگان می تواند این تغییرات جدید را ببینند و به همین روش در تکمیل آن مشارکت کنند.
علاوه بر این، کسانی که ارتباطی با توسعه پروژه های موجود در گیت هاب ندارند نیز می توانند فایل های مورد نیاز را دانلود کرده و از آن ها استفاده کنند.
بیشتر کاربران سیستم عامل لینوکس با نحوه کار Git آشنا هستند؛
زیرا استفاده از Git یا روش های مشابه دیگر برای دانلود فایل های مورد نیاز در لینوکس بسیار رایج است.
2# سایت گیت هاب چیست؟
سایت گیت هاب (GitHub) یکی از بزرگ ترین جامعه ها برای سرویس دهی به توسعه دهندگان در سطح جهان است.
GitHub تیم ها و متخصصان برنامه نویسی را در یک پلتفرم مشارکتی گرد هم می آورد که
در آن می توانند ایده ها و کارهای خود را به اشتراک بگذارند و نرم افزار های عالی را با هم بسازند.
GitHub دارای تعدادی ویژگی مفید است که تیم های توسعه را قادر می سازد تا در یک پروژه با هم کار کنند و
به راحتی نسخه های جدید نرم افزار را بدون ایجاد اختلال در نسخه های فعلی ایجاد کنند؛
اما کارایی گیت هاب به همین جا ختم نمی شود.
به عنوان مثال، هنگامی که افزونه های جدید برای به روز رسانی یک برنامه تولید و کامل شد،
می توان آن ها را به راحتی با برنامه های موجود ترکیب کرد.
GitHub همچنین کار بر روی رشته کدها را بسیار ساده می کند و
حتی کوچک ترین قسمت های برنامه را پس از افزودن، شماره گذاری و کامل می کند.
علاوه بر این، با GitHub می توانید در پروژه ها با دیگران در هر نقطه از جهان همکاری کنید.
البته، این توضیحات فقط کلیت گیت هاب را شرح می دهد و
بهتر است زمانی که یک توسعه دهنده مبتدی به سوال “گیت هاب چیست” می رسد،
پاسخ دهیم سایت گیت هاب همه آن چیزی است که برای توسعه یک برنامه به آن نیاز دارید.
3# ویژگی های گیت هاب چیست؟
پس از آنکه به خوبی متوجه شدیم سایت گیت هاب چیست و با چه هدفی ساخته شده است نوبت به آن رسیده که ویژگی های متمایز کننده این پلتفرم را بشناسیم.
1-3# مخزن (Repository)
مخزن (Repository) یا repo محلی است که همه فایل های یک پروژه خاص در آن ذخیره می شوند.
هر پروژه در سایت گیت هاب مخزن مخصوص به خود را دارد و می توانید با یک آدرس اینترنتی منحصر به فرد به آن دسترسی پیدا کنید.
2-3# منظور از انشعاب یک مخزن در گیت هاب چیست؟ (Forking a Repo)
منشعب شدن یک مخزن (Branching) زمانی اتفاق می افتد که شما یک پروژه جدید را بر اساس پروژه دیگری که از قبل وجود دارد ایجاد می کنید که
در اصطلاح به آن فورک کردن گفته می شود.
این یک ویژگی شگفت انگیز است که توسعه برنامه ها و پروژه های دیگر را بسیار آسان می کند.
اگر پروژه ای را در GitHub پیدا کردید که می خواهید در آن مشارکت کنید،
می توانید مخزن یا repo آن را در اصطلاح فورک کنید.
یعنی یک انشعاب جدید از آن مخزن ایجاد کنید.
سپس تغییرات مورد نظر خود را انجام دهید و پروژه بازبینی شده را به عنوان یک repo جدید منتشر کنید.
علاوه بر این، اگر مخزن اصلی که به عنوان منبع برای ایجاد پروژه جدید خود از آن انشعاب گرفته اید به روز شود،
می توانید به راحتی آن به روز رسانی ها را به انشعاب فعلی خود اضافه کنید.
3-3# ارسال درخواست بازبینی به توسعه دهندگان اصلی (Pull Requests)
کاربرد این مزیت در گیت هاب چیست؟
اگر شما یک مخزن را فورک کرده اید و یک تغییر عالی در پروژه انجام داده اید و
می خواهید توسط توسعه دهندگان اصلی به رسمیت شناخته شود و
یا شاید در پروژه یا مخزن اصلی گنجانده شود، این مزیت کاربردی خواهد بود.
می توانید این کار را با ایجاد یک درخواست pull انجام دهید.
نویسندگان مخزن اصلی می توانند آثار شما را ببینند و سپس انتخاب کنند که
آیا آن را در پروژه رسمی می پذیرند یا نه.
هر زمان که یک درخواست بازبینی به توسعه دهنده ارسال کنید،
GitHub برای ایجاد ارتباط بین شما و توسعه دهنده اصلی پروژه، یک رسانه مناسب فراهم می کند.
4-3# شبکه اجتماعی (Social Networking)
شبکه های اجتماعی گیت هاب احتمالا قوی ترین ویژگی آن هستند که
به پروژه ها اجازه می دهند بیش از سایر ویژگی های ارائه شده رشد کنند.
هر کاربر در GitHub مشخصات شخصی خود را دارد که مانند یک رزومه عمل می کند و
از طریق درخواست های pull، کارهای گذشته او و مشارکت در پروژه های مختلف را نشان می دهد.
5-3# مشارکت آسان (Easy Participation)
پروژه ها در سایت گیت هاب می توانند در دسترس همگان و مورد بحث و بررسی قرار گیرند؛
بنابراین بسیاری از متخصصان از سراسر جهان می توانند برای پیشبرد و بهبود یک پروژه مشارکت داشته باشند.
قبل از ارائه گیت هاب، برنامه نویسان و توسعه دهندگانی که علاقه مند به مشارکت در یک پروژه بودند می بایست راهی برای تماس با توسعه دهندگان اصلی پروژه پیدا می کردند و
سپس آن ها را متقاعد می کردند که می توان به آن ها اعتماد کرد و مشارکت آن ها در پروژه مشکلی ایجاد نخواهد کرد.
6-3# منظور از گزارش تغییرات در سایت گیت هاب چیست؟ (Changelogs)
وقتی چندین نفر در پروژه ای همکاری می کنند، پیگیری تغییرات دشوار خواهد بود.
یعنی این که متوجه شویم چه کسی چه چیزی را، در چه موقع و کجا ذخیره کرده است.
GitHub با پیگیری تمام تغییرات ایجاد شده در مخزن، از رخ دادن چنین مشکلاتی پیشگیری می کند.
7-3# GitHub فقط برای توسعه دهندگان نیست
تمام موارد ذکر شده درباره ایده آل بودن GitHub برای توسعه دهندگان و برنامه نویسان ممکن است باعث شود این طور به نظر برسد که گیت هاب تنها برای برنامه نویسان مفید است.
اگرچه استفاده از گیت هاب به عنوان یک فضا برای فایل های دیگر رایج نیست؛
اما شما می توانید از GitHub برای هر نوع پرونده ای استفاده کنید.
اما این مزیت گیت هاب چیست و چگونه می توان از آن بهره برد؟
به عنوان مثال، اگر در تیم کاری شما یک سند word دائما در حال تغییر است،
می توانید از سیستم GitHub به عنوان یک سیستم کنترل نسخه برای سند خود استفاده کنید.
درست است که این عمل متداول نیست؛
زیرا در بیشتر موارد جایگزین های بهتری وجود دارند؛ اما چیزی است که باید در نظر داشته باشید.
4# استفاده از سایت گیت هاب
حال که به خوبی متوجه شدیم سایت گیت هاب چیست و استفاده کردن از آن چه مزایایی دارد می خواهین به طور خلاصه به روش کار و استفاده از سایت گیت هاب بپردازیم.
برای استفاده از GitHub، ابتدا باید بتوانید این چند مرحله را انجام دهید.
- ایجاد حساب کاربری در سایت گیت هاب
- نصب Git
- ساخت Repository
- ساخت انشعاب از Repository که با نام Branching شناخته می شود
- ایجاد و اعمال تغییرات در یک Branch
- ایجاد درخواست Pull
- ادغام کردن درخواست Pull
نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.