GitHub یک وب سایت و سرویس است که همیشه میشنویم که حرفها درباره آن هیاهو میکنند، اما بسیاری از مردم واقعاً نمیدانند چه کار میکند. آیا میخواهید بدانید که همه هیاهوی GitHub درباره چیست؟ بخوانید تا متوجه شوید که GitHub چیست؟
GitHub چیست: “Git” در GitHub
برای درک GitHub، ابتدا باید درک درستی از Git داشته باشید. Git یک سیستم کنترل نسخه منبع باز است که توسط لینوس توروالدز – همان شخصی که لینوکس را ایجاد کرد، راه اندازی شد. Git شبیه به سایر سیستمهای کنترل نسخه است برای مثال Subversion، CVS و Mercurial.
بنابراین، Git یک سیستم کنترل نسخه است، اما این به چه معناست؟ هنگامی که توسعه دهندگان چیزی را ایجاد می کنند (مثلاً یک برنامه)، تغییرات مداوم در کد ایجاد می کنند و نسخه های جدید را تا اولین انتشار رسمی (غیر بتا) و پس از آن منتشر می کنند.
سیستم های کنترل نسخه این ویرایش ها را مستقیم نگه می دارند و تغییرات را در یک مخزن مرکزی ذخیره می کنند. این به توسعه دهندگان اجازه می دهد تا به راحتی با یکدیگر همکاری کنند، زیرا می توانند نسخه جدیدی از نرم افزار را دانلود کنند، تغییراتی ایجاد کنند و جدیدترین نسخه را آپلود کنند. هر توسعهدهندهای میتواند این تغییرات جدید را ببیند، آنها را دانلود و مشارکت کند.
به همین ترتیب، افرادی که هیچ ارتباطی با توسعه یک پروژه ندارند، همچنان می توانند فایل ها را دانلود کرده و از آنها استفاده کنند. اکثر کاربران لینوکس باید با این فرآیند آشنا باشند، زیرا استفاده از Git، Subversion یا روشهای مشابه دیگر برای دانلود فایلهای مورد نیاز بسیار متداول است – بهویژه برای آمادهسازی برای کامپایل کردن یک برنامه از کد منبع (روشی نسبتاً رایج برای گیکهای لینوکس).
Git سیستم کنترل نسخه ترجیحی اکثر توسعه دهندگان است، زیرا مزایای متعددی نسبت به سایر سیستم های موجود دارد. تغییرات فایل را کارآمدتر ذخیره می کند و یکپارچگی فایل را بهتر تضمین می کند. اگر علاقه مند به دانستن جزئیات هستید، صفحه Git Basics توضیح کاملی در مورد نحوه عملکرد Git دارد.
GitHub چیست: “Hub” در GitHub
ما ثابت کردهایم که Git یک سیستم کنترل نسخه است، مشابه اما بهتر از بسیاری از گزینههای موجود. بنابراین، چه چیزی GitHub را بسیار خاص می کند؟ Git یک ابزار خط فرمان است، اما مرکزی که همه چیزهای مربوط به Git در اطراف آن می چرخد، هاب – GitHub.com است – جایی که توسعه دهندگان پروژه های خود را ذخیره می کنند و با افراد همفکر شبکه می شوند.
بیایید به چند مورد از دلایل اصلی که گیک ها دوست دارند از GitHub استفاده کنند، مرور کنیم و در طول مسیر برخی اصطلاحات را بیاموزیم.
Repository مخزن
مخزن (معمولاً به اختصار “repo”) مکانی است که تمام پرونده های یک پروژه خاص در آن ذخیره می شوند. هر پروژه مخزن مخصوص به خود را دارد و شما می توانید با یک URL منحصر به فرد به آن دسترسی داشته باشید.


فورک کردن یک مخزن
“Forking” زمانی است که شما یک پروژه جدید بر اساس پروژه دیگری ایجاد می کنید که از قبل وجود دارد. یک ویژگی شگفت انگیز است که توسعه بیشتر برنامه ها و پروژه های دیگر را بسیار تشویق می کند. اگر پروژهای را در GitHub پیدا کردید که میخواهید در آن مشارکت کنید، میتوانید مخزن را جدا کنید، تغییراتی را که میخواهید ایجاد کنید و پروژه اصلاحشده را به عنوان یک مخزن جدید منتشر کنید. اگر مخزن اصلی که برای ایجاد پروژه جدید خود فورک کرده اید به روز شود، می توانید به راحتی آن به روز رسانی ها را به فورک فعلی خود اضافه کنید.
Pull Requests درخواست های کششی
شما یک مخزن ایجاد کرده اید، یک بازنگری عالی در پروژه انجام داده اید و می خواهید که توسط توسعه دهندگان اصلی شناسایی شود – حتی ممکن است در پروژه / مخزن رسمی گنجانده شود. شما می توانید این کار را با ایجاد یک درخواست کشش انجام دهید. نویسندگان مخزن اصلی می توانند کار شما را ببینند و سپس انتخاب کنند که آیا آن را در پروژه رسمی بپذیرند یا خیر. هر زمان که یک درخواست کشش صادر می کنید، GitHub یک رسانه عالی برای ارتباط شما و نگهدارنده پروژه اصلی فراهم می کند.
Social networking شبکه اجتماعی
جنبه شبکههای اجتماعی GitHub احتمالاً قویترین ویژگی آن است که به پروژهها اجازه میدهد بیش از هر یک از ویژگیهای دیگر ارائه شده رشد کنند. هر کاربر در GitHub پروفایل خود را دارد که مانند یک رزومه عمل می کند و کارهای گذشته و مشارکت شما در پروژه های دیگر را از طریق درخواست های کششی نشان می دهد.
اصلاحات پروژه را می توان به صورت عمومی مورد بحث قرار داد، بنابراین انبوهی از متخصصان می توانند دانش را به اشتراک بگذارند و برای پیشبرد پروژه همکاری کنند. قبل از ظهور GitHub، توسعه دهندگان علاقه مند به مشارکت در یک پروژه معمولاً باید ابزاری برای تماس با نویسندگان پیدا کنند – احتمالاً از طریق ایمیل – و سپس آنها را متقاعد کنند که می توان به آنها اعتماد کرد و مشارکت آنها قانونی است.
تغییرات
هنگامی که چندین نفر در یک پروژه همکاری می کنند، پیگیری بازبینی ها دشوار است – چه کسی چه چیزی، چه زمانی و در کجا آن فایل ها ذخیره می شود. GitHub با پیگیری تمام تغییراتی که به مخزن داده شده اند، این مشکل را برطرف می کند.
GitHub فقط برای توسعه دهندگان نیست
همه این صحبت ها در مورد اینکه چگونه GitHub برای برنامه نویسان ایده آل است ممکن است شما را وادار کند که فکر کنید آنها تنها کسانی هستند که آن را مفید می یابند. اگرچه بسیار کمتر رایج است، اما در واقع می توانید از GitHub برای هر نوع فایلی استفاده کنید. برای مثال، اگر تیمی دارید که دائماً در یک داکیومنت word تغییراتی ایجاد می کند، می توانید از GitHub به عنوان سیستم کنترل نسخه خود استفاده کنید. این عمل رایج نیست، زیرا در بیشتر موارد جایگزین های بهتری وجود دارد، اما چیزی است که باید در نظر داشت.
اکنون که می دانید GitHub چیست، آیا برای شروع آماده هستید؟ به GitHub.com سر بزنید و مطمئن شوید که پس از ثبت نام، صفحات راهنمای آنها را بررسی کنید.