
معمولا GitHub را یک سایت اشتراک کد و ارائه خدمات یا یک شبکه اجتماعی مخصوص برنامه نویسان میدانند. هر دوی آنها میتوانند درست باشند، اما واقعا GitHub چیست؟
در قلب GitHub یک پروژه متن باز که توسط Linus Torvalds (خالق لینوکس) ایجاد شده است به نام Git وجود دارد. در واقع Git یک سیستم کنترل نسخه نرم افزار است. Matthew McCullough یکی از اعضای GitHub میگوید: Git مانند دیگر سیستم های کنترل نسخه، نسخه های نرم افزار را ذخیره، مدیریت و فراخوانی میکند. که البته بیشتر برای کدها استفاده میشود اما Git میتواند برای هر نوع فایل دیگری مانند یک فایل Word نیز استفاده شود.
در GitHub میتوان پروژه ها را تحت عنوان Repository ایجاد کرد. اما GitHub به جز امکان ایجاد repository ویژگی های دیگری مانند خط فرمان، رابط گرافیکی، بوجود آوردن همکاری در repositoryهای مختلف و غیره را میدهد.
در ادامه همراه ما باشید…
یکی از قابلیت های شاخص GitHub کپی کردن یک مخزن (repository) از اکانت کاربر اصلی به اکانت دیگر است که به آن Forking میگویند. سپس کاربر میتواند تغییرات مورد نظر خود را در مخزن ایجاد کند و میتواند تغییرات ایجاد شده را با اطلاع رسانی (pull request) به کاربر اصلی آن مخزن اعلام کند و کاربر اصلی میتواند با یک کلیک تغییرات را به مخزن اصلی منتقل کند (merge).
این سه ویژگی fork, pull request و merge هستند که GitHub را قدرتمند میکند. در گذشته برای اینکه یک کاربر بتواند تغییراتی را در یک پروژه متن باز ایجاد کند باید ابتدا آن را دانلود میکرد، سپس تغییرات لازم را اعمال کند، بعد از آن لیستی از تغییرات را به نام patch ایجاد و همراه پروژه به کاربر اصلی آن میفرستد. کاربر اصلی ابتدا باید به کاربر غریبه اعتماد کند سپس patch را مشاهده و در صورت درست بودن تغییرات را اعمال کند.
اما در GitHub زمانی که یک pull request رخ میدهد، کاربر اصلی میتواند پروفایل درخواست دهنده را ببینید و در صورت تایید(merge) به اعتبار درخواست کننده اضافه میشود. این اعتبار میتواند به عنوان یک روزمه شناخته شود.
سایت GitHub دارای ویژگی های دیگری نیز هست. اگر بر روی پروژه های متن باز کار میکنید GitHub اولین قدم مهم است که باید بردارید. بدست آوردن اعتبار و شهرت در دنیای برنامه نویسی با استفاده از GitHub امکان پذیر است.
برای استفاده از گیتهاب در محیط اندروید استودیو ابتدا لازم است که در گیتهاب(GitHub) ثبت نام کنید.سپس به این آدرس بروید و پس از انتخاب سیستم عامل مورد نظر گیت را دانلود و نصب کنید.
گیت در ویندوز به طور پیشفرض در آدرس c:/Program\ Files\ \(x86\)/Git قرار دارد.گیت به شما امکانpush،pull و چندین امکان دیگر را میدهد.
در مرحله بعد اندروید استودیو را باز کنید و پروژه جدیدی ایجاد کنید،وارد قسمت ۤfile/setting/version control/git شوید و تغییرات زیر را اعمال کنید.

حالا وارد قسمت github شوید و در این قسمت آدرس سایت گیتهاب و username،password مربوط به اکانت گیتهابی که قبلا ایجاد کردید را وارد کنید.

حالا قصد داریم که کدهای این پروژه را روی گیتهاب قرار دهیم برای این کار در قسمت نوار بالا روی VCS کلیک کنید و مطابق شکل زیر گزینه share project onGithub را انتخاب کنید.

سپس نام repository و یک توضیح برای پروژه انتخاب و share کنید.

صفحهای باز میشود که شامل همه چیزهایی هست که قرار هست در گیتهاب قرار بگیرد و بعد از مشاهده و تایید فایلها پروژه با موفقیت روی گیتهاب قرار میگیرد.

با مراجعه به گیتهاب میتوانیم آنجا کدهای پروژه را مشاهده کنیم.
حالا اگر بخواهیم در پروژه تغییراتی ایجاد کنیم که تغییرات در گیتهاب هم اعمال شود چه باید کرد؟
در پروژه یک کلاس جدید ایجاد کنید،یک پیام هشداری نمایش داده میشود که از شما میپرسد آیا می خواهید این فایل هم به گیت اضافه شود؟

در صورتی که بخواهید پروژه به گیت اضافه نشود باید no را انتخاب کنید.در این صورت فایل قرمز نمایش داده میشود و اگر گزینه بله را انتخاب کنید فایل به رنگ سبز در میآید،برای اعمال تغییرات باید از کلید( ctrl+k (commit changes استفاده کنید.در صفحه پاپ آپی که باز میشود در قسمت commit message پیام مورد نظر شامل تغییرات اعمال شده را مینویسیم.توجه داشته باشید سه گزینه commit،commit and push،create patch وجود دارد.
اگر گزینه commit را انتخاب کنیم تغییرات به صورت لوکال اعمال میشود و روی گیت هاب قرار نمیگیرد.در صورتی که بخواهیم تغییرات در گیت هم اعمال شود نهایتا باید گزینه commit and push را انتخاب کنیم.

بعد از انتخاب commit and push ،هشدار بالا نمایش داده میشود.در اینجا گزینه commit را انتخاب نمایید.

سپس با انتخاب push تغییرات در گیت اعمال میشوند.
حالا در صورتی که بخواهید از پروژه های موجود در گیت هاب استفاده کنید باید آدرس لینک پروژه که در گیتهاب هست را مانند تصویر زیر وارد کنید و clone کنید.

در صورتی که پروژه توسط برنامه نویسان دیگر تغییراتی در آن ایجاد شود شما در قسمت VCSبا انتخاب گزینه update project تغییرات اعمال شده در پروژه را روی اندروید استودیو مشاهده میکنید.
برگرفته شده از:mehr-it