دانلود ویدیو

 

Github پلتفرمی است که بر اساس Git ساخته شده و امکانات گسترده و متنوعی دارد. از Github برای توسعه و مشارکت در نرم افزارهای مختلف استفاده می‌شود. در این مطلب قصد داریم این ابزار را به طول کامل بررسی کنیم.

بخش Git در عبارت Github

برای درک Github، ابتدا باید درک درستی از Git داشته باشیم. Git یک سیستم کنترل نسخه متن باز است که توسط لینوس توروالدز (Linus Torvalds که به وجودآورنده لینوکس نیز هست) راه‌اندازی شده است.

بنابراین، Git یک سیستم کنترل نسخه است. اما این به چه معناست؟ 

وقتی توسعه‌دهندگان یک چیزی را ایجاد می‌کنند (برای مثال، یک برنامه)، شروع به تغییرات مداوم در کدهای آن می‌کنند و نسخه‌های جدیدی را بعد از انتشار اولین نسخه رسمی (غیر بتا) روانه بازار می‌کنند. 

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

به همین ترتیب، افرادی که هیچ ارتباطی با توسعه یک پروژه ندارند، می‌توانند پکیج‌ها را دانلود کرده و از آنها استفاده کنند. اکثر کاربران لینوکس باید با این فرآیند آشنا باشند. زیرا استفاده از Git یا سایر روش‌های مشابه برای دانلود پکیج‌های مورد نیاز بسیار رایج است.

Git سیستم کنترل نسخه مورد نظر اکثر توسعه‌دهندگان است. زیرا دارای مزیت‌های منحصر به فرد نسبت به سایر سیستم‌های موجود است. این سیستم، تغییرات فایل‌ها را با کارایی بیشتری ذخیره می‌کند و یکپارچگی پکیج را بهبود می‌بخشد.

 

[button class=”github-btn” href=”http://frontcast.ir/introduction-to-git”]ویدیوی آموزشی: راهنمای استفاده از Git[/button]

 

بررسی Github

ما متوجه شدیم که چرا Git در مقایسه با سایر سیستم‌های کنترل نسخه، بهتر و برتر است.

حال بیایید به چند دلیل اصلی بپردازیم که حرفه‌ای‌ها را راغب به استفاده از GitHub می‌کنند. همچنین در این راستا، برخی از اصطلاحات را یاد بگیریم.

Repository

Repository (که معمولاً به اختصار به آن repo می‌گویند) محلی است که تمام فایل‌های یک پروژه خاص در آن ذخیره می‌شوند. هر پروژه، repo مخصوص به خود را دارد و شما می‌توانید با یک URL منحصربه‌فرد به آن دسترسی پیدا کنید.

Forking a Repo

Forking زمانی است که شما یک پروژه جدید را بر اساس پروژه‌های دیگری که در حال حاضر وجود دارند، ایجاد می‌کنید. این یک ویژگی شگفت‌انگیز است که به شدت تشویق به توسعه برنامه‌ها و پروژه‌های دیگر می‌کند. 

اگر پروژه‌ای در GitHub پیدا کردید که می‌خواهید در آن مشارکت کنید، می‌توانید repo را Fork کنید، تغییراتی که می‌‌خواهید را در آن اعمال کنید و پروژه اصلاح‌شده را به عنوان یک repo جدید منتشر کنید. 

در این میان، اگر Repository اصلی را که شما آن را Fork کردید، به‌روز شود، باز هم می‌توانید به راحتی آن‌ها را به Fork فعلی خود اضافه کنید.

Pull Requests

شما یک Repository را Fork کردید. یک بررسی بزرگ و گسترده‌ای را برای این پروژه انجام داده‌اید. و می‌خواهید توسعه‌دهندگان آن را به رسمیت بشناسند. یا حتی ممکن است بخواهید که آن را در پروژه یا Repository رسمی گنجانده شود. این کار با Pull Requests امکان‌پذیر است. 

توسعه‌دهندگان Repository اصلی، می‌توانند کارهای شما را ببینند و سپس تصمیم بگیرند که آیا آن را در پروژه رسمی قبول کنند یا نه. در این راستا، هر زمان که درخواست تقاضا را ارسال کردید، GitHub یک پلتفرم مناسب برای برقراری ارتباط با شما و نگهدارنده اصلی پروژه است.

Social Networking

می‌توان گفت شبکه‌سازی اجتماعی، Social Networking قدرتمندترین ویژگی GitHub است که به پروژه‌ها اجازه می‌دهد تا بیش از پیش رشد کنند. این کار نیز توسط رزومه‌هایی صورت می‌گیرد که هر کاربر آنها را در GitHub وارد کرده است. این رزومه‌ها شامل مشخصات فردی، انواع فعالیت‌های او، مشارکت‌هایش در پرو‌ژه‌ها و … است که از طریق Pull Requests نشان داده می‌شوند. 

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

قبل از ساخته شدن GitHub، توسعه‌دهندگانی که علاقه‌مند به مشارکت در یک پروژه بودند، باید به دنبال راه‌های ارتباطی مثل ایمیل می‌بودند و سپس آنها را متقاعد می‌کردند که به ایشان اعتماد کرده و مشارکت با آنها را شروع کنند.

Changelogs

هنگامی که چندین نفر در یک پروژه همکاری می‌کنند، پیگیری این‌که چه کسی، چه زمانی، چه چیزی و در کجا ذخیره کرده است، دشوار است. GitHub با پیگیری تمام تغییراتی که در Repository اعمال شده است، از بروز این مشکل جلوگیری می‌کند.

GitHub تنها مختص توسعه‌دهندگان نیست.

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

به عنوان مثال، اگر تیمی دارید که دائماً در حال ایجاد تغییرات در یک سند ورد هستند، می‌توانید از GitHub به عنوان سیستم کنترل نسخه بهره بگیرید.