آموزش گیت لب و گیت هاب از صفر تا صد رایگان (فیلم+ جزوه PDF)
در این مطلب به صورت رایگان گیت لب و گیت هاب را از صفر تا صد می توانید یاد بگیرید و فیلم های آموزشی مربوط به آن را دانلود کنید. برنامه نویسی با گیت لب نه تنها کسل کننده نیست بلکه بسیار جذاب و سرگرم کننده خواهد بود.
بخش اول: آموزش گیت لب
گیت لب چیست؟
گیت یک نرم افزار کنترل نسخه است و شما به راحتی میتوانید نسخه های تغییر یافته پروژه را در اختیار داشته باشید. این نرم افزار بر پلت فرم های گیت هاب و گیت لب پیاده سازی میشود. نرم افزار گیت معمولا در پروژه های تیمی کاربرد دارند. گیت لب اولین بار در سال 2011 توسط زاپوروژتز و سیژوف روسی توسعه یافت. سالهای اولیه این محصول با موفقیت چندانی همراه نبود تا در سال 2018 تحت لیسانس دانشگاه MIT قرار گرفت و اولین ورژن پایدار آن در 22 ژانویه همان سال منتشر شد. گیت لب در واقع یک سیستم کنترل نسخه میباشد که اجازه میدهد برنامه نویسان کدهای خود را با هم به اشتراک بگذارند. این سرویس با زبان برنامه نویسی Ruby و Go طراحی شده است.
گیت (git) برای اولین بار توسط سازنده سیستم عامل لینوکس (لینوس توروالدز) توسعه داده شد. توسعه این ابزار به واسطه نیاز به مدیریت حجم زیاد کدها شکل گرفت. در تعریف کلی گیت میتوان این چنین گفت: گیت به سیستم کنترل ورژن منبع باز گفته میشود و یک سرویس میزبان تحت وب است. زمانی که برنامه نویسان، بر روی یک پروژه ای کار می کنند، برای اولین بار تغییرات بسیاری را بر روی آن اعمال میکنند که مدیریت و دسترسی به آنها کمی سخت است.
اما کنترل ورژن میتواند انجام این کار را بسیار ساده تر کند و تمامی اصلاحات را درون یک بخش که به مانند انبار عمل میکند با جزئیات بیشتر ذخیره و یا به اصطلاح commit کند. در این صورت برنامه نویسان به راحتی تغییرات موجود را بر روی کدهای پروژهایشان اعمال میکنند و هر زمان که بخواهند می توانند دسترسی کاملی به تاریخچه ای از تغییرات با جزئیات کامل داشته باشند. در این مقاله سعی داریم گیت لب را به طور جامع معرفی کنیم و تفاوت های آن را با گیت هاب بررسی کنیم.
انواع مخازن گیت لب
- گیت لب نسخهی کامیونیتی: میزبانی رایگان به همراه پشتیبانی جامعهی توسعهدهندگان
- گیت لب نسخهی اینترپرایز: میزبانی و پشتیبانی به همراه تعدادی ویژگی اضافهتر نسبت به نسخهی کامیونیتی و دربردارنده هزینه
- Com رایگان؛ امکان استفاده از نرمافزار به عنوان یک سرویس (SaaS) برای مخازن عمومی و خصوصی، پشتیبانی در صورت پرداخت هزینه
- io: راهکاری که گیتلب نسخهی کامیونیتی با اینترپرایز را به صورت موقت و اجارهای در اختیار میگذارد.
ویژگی گیت لب
1- رابط کاربری ساده و آسان دارد که امکان دسترسی به پروژهها، جدیدترین پروژهها و کاربران را در یک صفحه فراهم میکند.
2- یکی از ویژگی های گیت لب اشتراک گذاری بخش کوچک یک پروژه به جای کل پروژه با کد اسنیپت است.
3- شاخههای حفاظتشده که گونهی جدیدی از محرمانه نگه داشتن کد است و در واقع امکان دخل و تصرف دیگران را محدود میکند.
4- شما میتوانید سطح دسترسی را تعیین کنید و کار تیمی را به بهترین شکل انجام دهید.
5- نشانگرهای پیشرفت بهبودیافته که علاوه بر قابلیت نشان دادن سطح پیشرفت توسعهدهنده، امکان تنظیم به عنوان نشانگر سطح پیشرفت گروه را نیز به کاربران میدهد.
6- وضعیت «کار در حال انجام» که از تلفیق کد با پروژههای ناتمام جلوگیری میکند.
7- ضمیمه کردن فایلها مانند کامنتها به هر نوع از ارتباطات در گیتلب
8- توسعهدهندگان یک شرکت میتوانند به راحتی به سایر پروژههای آن شرکت دسترسی داشته و آنها را به اشتراک بگذارند و در واقع دسترسی به منابع داخلی فراهم میشود.
آموزش کانفیگ سرور گیت لب
شما گیت لب را به دو روش زیر می توانید نصب کنید:
1- راه اندازی سرور گیت لب با استفاده از یک اسکریپت ساده
قبل از شروع مراحل نصب، باید اطمینان حاصل کنید که همه بسته های سیستم به روز شده اند. برای انجام این کار، باید برنامه ترمینال را باز کنید. سپس، بر روی Activities کلیک کرده و terminal را در application launcher تایپ کنید تا به ترمینال دسترسی پیدا کنید. یا می توانید با استفاده از کلیدهای میانبر صفحه کلید Ctrl + Alt + t به پنجره ترمینال دسترسی پیدا کنید.
دستور زیر را صادر کنید:
sudo apt update
اکنون، با استفاده از دستور زیر، متعلقات سرور گیت لب را نصب خواهید کرد:
sudo apt-get install -y curl openssh-server ca-certificates
اکنون برای راحتی کار مخزن گیت لب را اضافه کنید تا اسکریپت زیر را روی سیستم اجرا کنید. با استفاده از دستور زیر گیت لب را دانلود کنید:
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab- ce/script.deb.sh
پس از اجرای موفقیت آمیز اسکریپت، می توانید بسته gitlab-ce را با استفاده از دستور زیر روی Ubuntu 20.04 نصب کنید:
$sudo apt-get install gitlab-ce
2- راه اندازی سرور گیت لب با دانلود از اینترنت
در صورت بروز هرگونه مشکل سرور یا پشتیبانی رسمی اوبونتو در رابطه با سرور گیت لب، می توانید بسته گیت لب را از این URL داده شده https://packages.gitlab.com/gitlab/gitlab-ce دانلود کنید. وقتی بسته را کاملاً دانلود کردید، آن را به سرور خود کپی یا منتقل کنید و سپس با استفاده از دستورات زیر سرور گیت لب را راه اندازی کنید:
$ cd downloads
برای دانلود بسته گیت لب دستور wget زیر را اجرا کنید:
$ wget –content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/
bionic/gitlab-ce_13.2.1-ce.0_amd64.deb/download.deb
اکنون ، با استفاده از دستور زیر بسته دانلود شده (.deb) را روی اوبونتو 20.04 نصب خواهید کرد:
$ sudo dpkg -i gitlab-ce_13.2.1-ce.0_amd64.deb
پس از نصب بسته گیت لب، می توانید از این فایل که کانفیگ های خودکار را ارائه می دهد و شما می توانید متناسب با نیاز خود آن را تغییر دهید، استفاده کنید:
$ sudo vim /etc/gitlab/gitlab.rb
اکنون ، برای تغییر نام میزبان با استفاده از متغیر external_url، فایل کانفیگ را ویرایش کنید تا بتوانید از طریق یک سیستم از راه دور دیگر با استفاده از نام میزبان مشخص شده و سایر پارامترها به آنها دسترسی داشته باشید:
برای کانفیگ مجدد خدمات سرور گیت لب دستور زیر را اجرا کنید:
$ sudo gitlab-ctl reconfigure
با دستور بالا تمام سرویس های سرورگیت لب کانفیگ می شوند. تکمیل این فرآیند ممکن است زمان بر باشد. اکنون، با استفاده از دستور زیر، خدمات سرور گیت لب را بر روی سیستم خود راه اندازی می کنید.
$ sudo gitlab-ctl start
با اجرای دستور زیر در ترمینال می توانید وضعیت سرویس ها را بررسی کنید:
$ sudo gitlab-ctl status
تفاوت گیت لب و گیت هاب (اینفوگرافی)
بخش دوم: آموزش گیت هاب
گیت هاب (GitHub)یکی از واژه های پرکاربرد در زمینه برنامه نویسی و مدیریت پروژه است. گاهی شما با یک تیم مشغول انجام یک پروژه پیچیده هستید، اما فاصله مکانی شما زیاد است و امکان تعامل نخواهید داشت. شما میتوانید با استفاده از گیت هاب پروژه های تیمی خود را مدیریت کنید. در واقع گیت هاب یک شبکه اجتماعی در فضای ابری برای برنامهنویسان و یک پلتفرم همکاری برای توسعهدهندگان است که بزرگترین فضای ذخیرهسازی برای کارهای اشتراکی و توزیعیافته دنیا به شمار میرود. میتوان با استفاده از این تعریف به کاربردهای گیت هاب به طور جامع پی برد. در این مقاله هرآن چیز که لازم است درباره گیت هاب بدانید را شرح داده ایم.
تعریف گیت هاب
گیت هاب اساسا یک پلتفرم توسعه است که از نحوه کار توسعه دهندگان الهام گرفته است. در واقع در گیت هاب شما میتوانید ایده ای خود را مطراح کنید، پروژه تیم خود را توسعه دهید و دسترسی به داده ها آسانتر خواهد بود. گیت هاب را میتوان به صورت رایگان برای پروژه های عمومی استفاده کرد و یا برای پروژه های تجاری از امکانات پولی آن استفاده کرد.
مفاهیم مطرح در گیت هاب
Repository Repository را میتوان منبع و یا مخزن تعریف کرد. در واقع مخزن مکانی است که تمام فایلهای یک پروژه در آن ذخیره میشود. هر پروژه دارای مخزن خود است که با آدرس URL در دسترس خواهد بود.
Fork کلمه Fork را در فارسی میتوان معادل شعبه و یا شاخه دانست. این کلمه زمانی به کار میرود که میخواهید پروژهای را بر اساس یک پروژهی دیگر که از قبل موجود است ایجاد کنید. شما با استفاده از این ویژگی میتوانید پروژهای را که از قبل وجود دارد، برای خود منشعب کنید و اگر منبع اولیه بهروزرسانی شود، این بهروزرسانیها بهراحتی به انشعاب نیز اضافه خواهد شد.
Commit به زبان ساده، هر تغییر یک Commit نامیده میشود که هر یک از آنها شامل یک توصیف برای علت ایجاد این تغییر است.
Pull Request معادل فارسی این مفهوم «درخواست ادغام یا یکپارچگی» است. این درخواست زمانی به کار میرود که شما تغییراتی در یک پروژه (منشعب شده) انجام دادهاید، ولی میخواهید این تغییرات توسط برنامهنویسان اصلی شناخته شده و در پروژه (repo) اولیه قرار بگیرد.
شبکه اجتماعی هر کاربر در گیت هاب یک پروفایل و یک رزومه مخصوص به خودش دارد که آثار پیشین و همکاریهایی را که توسط درخواستهای ادغام انجام داده است، نشان میدهد. بازبینی در پروژهها را میتوان بهصورت عمومی مورد بحث قرار داد و در واقع میتوان از ویژگی اجتماعی بودن آن استفاده کرد.
طرحهای رایگان و پولی گیت هاب
گیت هاب دارای طرح های مختلف از جمله طرح های فردی و تیمی و یا رایگان و پولی است.
در طرحهای فردی، دو حالت رایگان و حرفهای (Pro) وجود دارد. که معمولا طرح های رایگان هیچ محدودیت زمانی ندارد و شما میتوانید پروژه های خود را مدیریت کنید و مشکلات و باگها را ردیابی کنید. اما طرح های پولی گیت هاب از 7 دلار در ماه برای هر پلان آغاز میشود و با توجه به امکانات ممکن است هزینه های بیشتر نیز داشته باشد. پلانهای تیمی که دارای امکانات بیشتری مثل کنترل دسترسیِ تیمی، صدور قبض و مدیریت کاربران هستند از 9 دلار قیمتگذاری شدهاند. گیت هاب دارای یک صفحه وب برای مقایسه ویژگیها و امکانات پلانهای مختلف است که از همان صفحه اول در دسترس است و شما میتوانید طرح خود را انتخاب کنید.
ویژگی های GitHub
استفاده از گیت هاب
مرحله اول
گیت را روی سیستم نصب نمایید و سپس وارد گیتهاب شوید. با استفاده از آدرس ایمیل خود و وارد نمودن نام کاربری و پسورد در گیتهاب ثبتنام نمایید تا حساب کاربری شما ایجاد شود. پس از ایجاد حساب به قسمت خانه مراجعه نمایید(با توجه به قوانین ترحیم امکان دسترسی به گیت هاب برای IP ایران وجود ندارد، بنابراین از یک ایمیل معتبر انگلیسی و نام کاربری انگلیسی استفاده کنید).
مرحله دوم
در بخش «repositories» یا همان مخازن لیست تمام ریپاسیتوریهای از قبل ایجاد شده موجود است. اما دکمه «New» به شما امکان ساخت یک مخزن جدید را میدهد.
- پسروی دکمه «New» کلیک کنید تا به صفحه ساخت ریپاسیتوری جدید وارد شوید. تا به یک صفحه جدید بروید.
- پس از ورود به صفحه مخزن جدید برای آن یک نام انتخاب نمایید.
- پس از وارد نمودن نام انتخابی برای مخزن، شما میتوانید توضیحی نیز برای مخزن خود اضافه نمایید. مثلاً اینکه این مخزن حاوی چه پروژهای است و یا چه کسانی روی آن کار میکنند و…
- شما باید برای گیتهاب مشخص کنید که این مخزن از نظر سطح دسترسی عمومی است یا خصوصی( گزینه public به این معناست که به دیگران اجازه دسترسی به مخزن و ایجاد اصلاحات در دادههایتان را میدهید. اما private بودن مخزن شما به این معناست که فقط شما میتوانید دادههای مخزن را تغییر دهید).
- پس از طیکردن مراحل فوق شما میتوانید یک فایل با عنوان README بسازید که بهعنوان آرشیو پروژه باشد.
- آخرین گام برای ایجاد یک مخزن زدن دکمه «Create repository» است تا مخزن شما با ویژگیهایی که مشخص کردید ایجاد شود.
مرحله سوم
گیتهاب دارای دو نسخه گرافیکی و خط فرمان است. اکنون ترمینال گیتهاب را باز نمایید و دستور زیر را در آن تایپ کنید. سپس کلید ENTERرا بفشارید.
git clone https://github.com/[USERNAME]/[USERNAME].github.io
نکته
clone یکی از قابلیتهای گیت است که یک کپی از مخزنی که ساختید (همراه محتویات آن) در محلی که شما ترمینال را در آن باز کردید، ایجاد میکند. به این صورت شما میتوانید فایلهای وبسایت خود را ویرایش نمایید. هر تغییری که در کد خود ایجاد کنید روی مخزن اصلی ذخیره خواهد شد. حال که یک کپی از مخزن روی سیستم خود دارید وارد آن شوید و در فایل موردنظرتان در مخزن یک فایل index.html ایجاد کنید. این کار را میتوانید از طریق ترمینال هم انجام دهید. سپس فایل خود را باز کنید و تغییراتی در آن انجام دهید. پس ذخیره کردن تغییرات به محلی که فایل موردنظر در آن است بروید و ترمینال گیت را باز کنید. سپس به پوشة حاوی کد بروید. دستورات زیر را به ترتیب در ترمینال اجرا کنید.
git add –all (ارسال تغییرات روی فایل بر استیج)
git commit -m “Save changes” (ذخیره تغییرات در مخزن محلی)
git push -u origin master(ذخیره کامیت)
مرحله چهارم
در پایان مرورگر خود را باز کنید و به آدرس https://[USERNAME].github.io بروید. در اینجا قادر به مشاهده وبسایت خود خواهید بود و این امکان در صورت استفاده از هر دستگاه دیگری وجود دارد.
بخش دوم: دانلود دروس آموزش گیت لب و گیت هاب
در اینجا ما 4 نوع آموزش قرار داده ایم. بسته به سلیقه تان با هر سبک مدرس که راحت تر هستید آن را برای یادگیری انتخاب کنید یا می توانید ترجیحا از هر دو آموزش استفاده نمایید. کاملا به خودتان بستگی دارد. اما آموزش اول را حتما دانلود کنید:
آموزش اول (مفاهیم اصلی در یک جلسه)
برای دانلود هر درس روی آن کلیک کنید یا دکمه Alt کیبورد را نگه داشته و روی آن کلیک کنید. هر درسی باز نشد در بخش نظرات اعلام کنید تا سریعا مشکل رفع شود:
برگرفته از پیج طراحی وب :
درس 1 (همه مفاهیم اصلی)
آموزش دوم
بر گرفته از پیج Hello media :
درس 1
درس 2
درس 3
آموزش سوم (آموزش کامل گیت لب و گیت هاب)
برگرفته از پیج علی صیفی:
درس 1 | درس2 (حذف شد) |
درس 3
|
درس 4
|
درس5
|
درس 6
|
درس 7 | درس 8 |
درس9 بخش اول | درس9بخش دوم |
آموزش چهارم (آموزش کامل گیت لب و گیت هاب)
برگرفته از پیج جواد جهانگیری:
درس 1 | درس 2 |
درس 3 | درس 4 |
درس 5 | درس 6 |
درس 7 | درس 8 |
درس 9 | درس 10 |
سوالات متدوال کاربران
1- آیا امکان دسترسی به تکنولوژی gitlab و github در ایران وجود دارد؟
استفاده از سرویس گیت لب با قوانین اجباری آمریکا اقدام به محدود سازی کاربران ایران و چند کشور دیگر کرد. به همین دلیل بسیاری از برنامه نویسان با مشکل دسترسی به پروژههای خود مواجه شدند. در این صورت برنامه نویسان به اجبار از روش استفاده پروکسی بهره گرفتند تا به سورس کد های خود دسترسی پیدا کنند.
2- راه های دسترسی به gitlab و github در ایران به چه صورت است؟
حساب کاربری جدیدی با IP غیر ایرانی ایجاد کنید و به آن دسترسی پیدا کنید. در ثبت نام این حساب کاربری از ایمیل خارجی و نام انگلیسی استفاده کنید. همچنین شما میتوانید به صورت مستقیم به سرور خود متصل شده و تغییرات را به طور مستقیم بر روی سرور منتقل کنید.
3- بهترین جایگزین gitlab و github چیست؟
بیت باکت (BitBucket)، لانچ پد (Launchpad)، بینستاک (Beanstalk) میتوانند جایگزین های خوبی برای gitlab و github باشند.