گیت هاب چیست؟ + چگونه از Github استفاده کنیم؟
دنیای شیرین کدنویسی، دنیای تجربه و هیجان است اما یک برنامه نویس ممکن است در طول فرآیند کدنویسی با مشکلات و باگ های متعددی روبرو شود. در برخی اوقات، راه حل این مشکلات در منابع آکادمیک یافت می شود اما این موضوع همیشه کارساز نیست. در این حالت، تنها راه حل این است که برنامه نویسان با افرادی که قبلاً دچار این مشکلات شده اند گفتگو کنند یا پروژه های خود را با یک تیم با تجربه به اشتراک بگذارند. گیت هاب (GitHub) دقیقاً چنین قابلیتی را در اختیار برنامه نویسان قرار می دهد.
در یک کلام می توان گفت که گیت هاب یک جامعه کاربری متشکل از برنامه نویسانی است که با حضور فعال خود به چالش ها و مشکلات یکدیگر پاسخ می دهند. امروز در داناپ مطلبی درباره گیت هاب آماده کرده ایم، پس اگر نمی دانید گیت هاب چیست و چطور می توان از آن استفاده کرد، حتماً تا انتهای این مطلب با ما همراه باشید.
گیت هاب چیست؟
گیت هاب (GitHub) یک جامعه کاربری متشکل از برنامه نویسان است که به منظور اشتراک گذاری کدها مورد استفاده توسعه دهندگان قرار می گیرد. در واقع، گیت هاب یک شبکه اجتماعی مخصوص برنامه نویسان است. سازمان ها و کمپانی های بسیاری برای مدیریت پروژه های خود و برقراری ارتباط با توسعه دهندگان خبره از این پلتفرم استفاده می کنند.
طبق آماری که طی سال گذشته جمع آوری و منتشر شد، گیت هاب بزرگترین هاست سورس کد جهان محسوب می شود که دارای بیش از 60 میلیون مخزن کدنویسی جدید در سال جدید است که توسط حدوداً 50 میلیون برنامه نویس پشتیبانی می شود. قبل از این که به بررسی ویژگی ها و قابلیت های دیگر گیت هاب بپردازیم، با ذکر یک مثال شما را به صورت عملی با کاربرد گیت هاب آشنا خواهیم کرد تا به شکل راحتی آن را درک کنید.
برند decathlon یک کمپانی فرانسوی است که فروشگاه های زنجیره ای در زمینه فروش کالاهای ورزشی را راه اندازی کرده است. این کمپانی بیش از 1500 فروشگاه در سراسر دنیا دارد که برای حدود 87 هزار نفر ایجاد شغل کرده است. هر کسب و کاری که در بازار فعال است، چه بزرگ باشد چه کوچک، بدون شک دیر یا زود با موانع و مشکلات اساسی روبرو خواهد بود. برای مثال، کمپانی decathlon احتمالاً با چالش های زیر روبرو خواهد شد:
- مدیران decathlon چگونه می خواهند چنین جریان کار (Workflow) بزرگی را طوری تنظیم کنند که برای همه شفاف و قابل مشاهده باشد؟ به عبارت دیگر، مدیران این پروژه چطور می توانند این نیروی کار عظیم را طوری مدیریت کنند تا از تعدیل نیروی کار جلوگیری شود؟
- بخش منابع انسانی این کمپانی چگونه می تواند توسعه دهندگانی زبده را برای موقعیت های مکانی مختلف استخدام کند؟
تنها راه نجات مدیران این کمپانی، گیت هاب است! گیت هاب نه فقط یک منبع مقرون به صرفه و ارزان قیمت است بلکه به عنوان یک یک جامعه کاربری منبع باز نیز بدون رقیب محسوب می شود. از آنجایی که GitHub یک ابزار مبتنی بر فضای ابری (Cloud)، کدهای نوشته شده توسط توسعه دهندگان در سراسر سیستم ارباب رجوع قابل رویت خواهد بود. بنابراین، هر کدام از اعضای تیم می تواند مشارکت بیشتری در روند انجام کارها داشته باشند.
گیت هاب هم دقیقاً به این شکل است. گیت هاب امکان تعامل و همکاری با توسعه دهندگان از سراسر جهان را امکان پذیر می کند. جوامع کاربری منبع باز و رایگانی مثل گیت هاب، این امکان را در اختیار برنامه نویسان قرار می دهد تا دانش خود را با یکدیگر به اشتراک گذاشته و از مزایای ارتباط با برنامه نویسان خارجی بهره مند شوند.
گیت هاب از دو واژه گیت (Gate) و هاب (Hub) تشکیل شده است که برای درک بهتر باید با هر دو بخش آشنایی کامل داشته باشید. در ادامه دو واژه گیت و هاب را به طور جداگانه مورد بررسی قرار خواهیم داد.
گیت چیست؟
گیت (Git) در اصل یک سیستم کنترل ورژن (Version Control Version) منبع باز است که به برنامه نویسان در انجام بروزرسانی برنامه ها کمک می کند. زمانی که توسعه دهندگان یک نرم افزار را کد نویسی می کنند، پس از انتشار ورژن اولیه، تغییرات زیادی بر روی کدهای آن اعمال خواهند کرد. سیستم کنترل نسخه، فرایند ایجاد تغییرات را آسان کرده و تمام تغییرات بعدی را در یک مخزن (Repository) ذخیره می کند. این قابلیت باعث می شود که برنامه نویسان بدون مشکل نسخه جدید نرم افزار را از مخزن دانلود کرده و بروزرسانی جدید را انجام دهند.
سیستم کنترل نسخه (VCS) یکی از قابلیت های شاخص گیت هاب به شمار می رود که می تواند مشکلات پروژه های توسعه نرم افزار را به راحتی برطرف کند. اما سیستم کنترل نسخه چیست و چطور می تواند به برنامه نویسان در برطرف سازی چالش های روند توسعه کمک کند؟
سیستم کنترل نسخه چیست؟
کنترل نسخه راه را برای توسعه دهندگان هموار می کند. برای مثال، پروژه بسیار بزرگ وردپرس (WordPress) را در نظر بگیرید. اگر هر کدام از اعضای تیم توسعه بخواهد به صورت جداگانه بر روی کدنویسی کار کند، نمی توان با اطمینان کامل کد اصلی منبع را در اختیار وی قرار داد تا هر تغییری که می خواهد را بر روی کدهای وردپرس اعمال کند. راه حل این مشکل، استفاده از یک سیستم کنترل نسخه است. سیستم کنترل نسخه این امکان را در اختیار اعضای تیم توسعه قرار می دهد تا بر روی یک بخش از پروژه کار کرده و در آخر تغییرات اعمال شده را با دیگر اعضای تیم ادغام کنند.
علاوه بر این، سیستم کنترل ورژن گیت هاب تغییرات را به صورت یکپارچه و کامل ذخیره می کند و افرادی که هیچ ارتباطی با پروژه ندارند نیز می توانند به صورت رایگان فایل بروزرسانی های اخیر را از گیت هاب دانلود کنند. در حقیقت، سیستم کنترل نسخه تمام تغییرات و اصلاحات ایجاد شده بر روی یک نرم افزار یا مجموعه ای از داده های نرم افزاری را آرشیو می کند و در زمانی که یک نسخه جدید به آن نیاز داشت، به راحتی آن ها را فرا بخواند. علاوه بر این، سیستم باعث می شود که تمام اعضای پروژه بتوانند به صورت همزمان بر روی جدیدترین نسخه یک نرم افزار کار کنند.
هاب چیست؟
واژه هاب (Hub) ممکن است قبلاً هم به گوش شما خورده باشد، معنی این واژه تقریباً در همه جا یکسان است. به طور کلی معنی هاب به معنی مرکز یک فعالیت، شبکه یا منطقه است. برای مثال، USB Hub به معنی مرکزی ارتباطی USB است و تمام فعالیت های گیت حول محور آن می چرخد.
ویژگی های Github
گیت هاب یک سرویس هاست از مخازن گیت است که یک رابط کاربری گرافیکی مبتنی بر وب در اختیار کاربران قرار می دهد. این پلتفرم بزرگترین جامعه کاربری کدنویسی جهان است و به اشتراک گذاشتن یک کد یا پروژه در آن باعث بهتر دیده شدن شما خواهد شد. توسعه دهندگان می توانند سورس کدهای زیادی را به زبان های مختلف در گیت هاب پیدا کنند و از طریق رابط خط فرمان (Command-line Interface) و گیت می توانند تغییرات مورد نظر را بر روی کدها اعمال کرده و در طول زمان ردیابی کنند
گیت هاب این امکان را در اختیار اعضای تیم توسعه قرار می دهد تا از مناطق جغرافیایی مختلف به راحتی با یکدیگر بر روی یک پروژه همکاری کنند. شما با استفاده از گیت هاب می توانید نسخه های قبلی نرم افزار را به راحتی پیدا کرده و مورد بازبینی قرار دهید. به طور کلی گیت هاب مزایا و ویژگی های بیشماری دارد که در ادامه به معرفی برخی از مهم ترین آن ها خواهیم پرداخت.
-
مدیریت پروژه
گیت هاب فضایی است که مدیران پروژه و توسعه دهندگان برای برقراری ارتباط دور یکدیگر جمع می شوند. در حقیقت، آن ها برای این از گیت هاب استفاده می کنند که با هماهنگی بیشتر بتوانند پروژه های خود را ردیابی و آپدیت کنند. این موضوع باعث می شود که تمام مراحل پروژه به صورت کاملاً شفاف و طبق برنامه ریزی پیش رود.
-
افزایش امنیت پکیج ها
بسته های نرم افزاری ممکن است به صورت خصوصی درون تیم توسعه و یا به صورت منبع باز برای دسترس همگان منتشر شوند. برنامه نویسان با دانلود کردن پکیجهای نرم افزاری می توانند آنها را مورد استفاده مجدد قرار دهند.
-
مدیریت تیمی موثرتر
گیت هاب به تمام اعضای تیم توسعه کمک می کند تا به صورت سازماندهی شده در یک صفحه فعالیت داشته باشند. برای مثال، ابزار متعادل سازی Issue و Pull Request Locking این امکان را در اختیار برنامه نویسان قرار می دهد تا به راحتی بر روی کدها تمرکز داشته باشند.
-
بهبود کدنویسی
ابزار Pull Request این امکان را در اختیار توسعه دهندگان قرار می دهد تا کدهای جدید را مورد بازبینی قرار داده و در صورت نیاز آن ها را توسعه داده یا کدهای جدید را به مجموعه پیشنهاد دهند. در حقیقت، برنامه نویسان قبل از این که تغییری در سورس کدها ایجاد کنند می توانند در گیت هاب درباره اصلاحیه های جدید بحث و گفتگو کنند.
-
ارتقای امنیت کدها
گیت هاب با به کارگیری ابزارهای مخصوص، آسیب پذیری هایی که از چشم ابزارهای دیگر پنهان مانده است را مورد تجزیه و تحلیل قرار می دهد. اعضای تیم توسعه از مکان های مختلف با یکدیگر همکاری می کنند تا امنیت زنجیره تامین نرم افزار را از نقطه آغاز تا پایان تامین کنند.
-
هاستینگ بهتر از کدها
تمام کدها و مستندسازی ها در یک مکان مشخصی از گیت هاب ذخیره می شوند. میلیون مخزن در گیت هاب وجود دارد که هر کدام ابزارهای خاص را دارا هستند. شما با استفاده از این ابزار می توانید به راحتی کدها را میزبانی و منتشر کنید.
چگونه از گیت هاب استفاده کنیم؟
نحوه کار کردن با گیت هاب بسیار ساده است. اگر یک برنامه نویس تازه کار هستید، در اولین قدم باید وارد وب سایت GitHub شده و یک حساب کاربری ایجاد کنید. در مرحله بعدی باید گیت را بر روی سیستم کامپیوتری خود نصب کنید. پس از آن برای این که خود را به عنوان یک کاربر به گیت هاب بشناسانید باید از طریق Terminal یک User Name در هر یک مخزن های گیت برای خود تعریف کنید. برای این کار باید از این فرمان استفاده کنید:
1 |
git congig – global.user.name”<your_name_here>” |
دقت داشته باشید که برای بخش Your Name Here از یک اسم مخصوص به خود استفاده کنید. شما می توانید هر اسمی که می خواهید را در این بخش به کار ببرید. در مرحله بعد آدرس ایمیلی که برای وارد شدن به گیت هاب استفاده کرده اید را با گیت به اشتراک بگذارید. برای این کار از فرمان زیر استفاده کنید:
1 |
git congig – global.user.emali”<your_email.com>” |
پس از ایجاد حساب کاربری، برای ذخیره کدهای خود باید یک مخزن یا همان rop اختصاصی ایجاد کنید. سپس با ایجاد یک فایل و commit جدید می توانید سیستم کامپیوتری خود را repo خودتان در گیت هاب متصل کنید.
اصطلاحات رایج گیت هاب
گیت هاب اصطلاحات تخصصی دارد که برای شروع کار باید با آنها آشنا باشید. در حقیقت، همین مفاهیم و ابزارها هستند که گیت هاب را به یکی از محبوب ترین ابزارهای توسعه دهندگان تبدیل کرده است. در ادامه برخی از مهم ترین مفاهیم گیت هاب را با یکدیگر مرور خواهیم کرد.
-
ریپوزیتوری (Repository):
اصطلاح ریپوزیتوری به معنی انبار یا مخزن است که به صورت مخفف Repo در گیت هاب نمایش داده می شود. ریپو در واقع، انباری است که کدها و فایل های مربوط به یک پروژه در آن ذخیره می شوند. هر پروژه دارای یک انبار مخصوص به خود است که توسعه دهندگان از طریق یک آدرس url انحصاری می توانند به آن دسترسی داشته باشند.
-
فورک (Fork):
فورک در فارسی به معنای شاخه است. فورک زمانی استفاده می شود که توسعه دهندگان می خواهد یک پروژه جدید را بر اساس یک پروژه قدیمی موجود در گیت هاب بسازند. با استفاده از این قابلیت، می توانید به مخزن پروژه ای که از قبل در گیت هاب وجود داشته است دسترسی پیدا کرده و با اعمال تغییرات مورد نظر، یک مخزن جدید برای آن بسازید.
-
شاخه یا برنچ (Branch)
برنچ یک شاخه کپی شده از پروژه اصلی به شمار می رود. این شاخه به منظور اعمال تغییرات جدید (Commit) به وجود می آید و می توان آن را با پروژه اصلی ادغام (Merge) کرد.
سوالات متداول
آیا فعالیت در گیت هاب ضروری است؟
خیر، اما اگر به عنوان یک برنامه نویس حرفه ای می خواهید فعالیت کنید استفاده از گیت هاب و فعالیت در آن به شما توصیه می شود.
تفاوت گیت هاب و گیت لب چیست؟
دو سایت گیت هاب و گیت لب مشابه یکدیگر و در واقع رقیب یکدیگر هستند. مزیتی که گیت لب نسبت به گیت هاب دارد این است که گیت لب امکانات رایگان بیشتری را ارائه می کند.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.