آموزش گیت لب را از کجا شروع کنیم؟
آموزش گیت لب
به ابزار کنترل نسخه در برنامهنویسی گیت گفته میشود. با گیت میتوان تغییرات مربوط به نسخههای جدید نرمافزار را بهصورت آزمایشی روی کد پیاده کرده و به تیم اجازه کار با کد را داد. در حال حاضر گیتهای زیادی در بازار موجودند که در میان آنها گیت هاب و گیت لب گوی سبقت را از دیگر رقبا ربودهاند و در رهبری بازار را در دست دارند. در این مطلب قصد داریم مبانی گیت لب، امکانات و شیوه کار با آن را به شما نشان دهیم.
ویدیو پییشنهادی : آموزش Git
گیت چیست و به چه کار میآید؟
برای تعریف گیت لب ابتدا نیاز داریم مفهوم گیت را تعریف کنیم. گیتلب، گیتهاب و بیتباکت همگی زیر مجموعه مفهوم گیت قرار میگیرند و در ویژگیهای کلی مشترکاند. گیت یک سیستم مدیریت نسخه (ورژن) برای سورسکد است. پس از قرارگیری کد منبع روی گیت میتوانید بهصورت تیمی روی آن کار کنید. مفهوم مخزن (Repository) در گیت اشاره به جایی دارد که کد در آن قرار میگیرد. با گیت میتوانید یک کد را از راه درون مخزن دانلود (Pull) کرده و پس از اعمال تغییر آن را روی مخزن آپلود (Push) کنید. گیت در دو نوع عمومی (Public) و خصوصی (Private) وجود دارد.
گیت لب چیست؟
گیت لب (Git Lab) یکی از معروفترین گیتهای موجود در بازار است که در حال حاضر رقابت شانهبهشانهای با رهبر بازار (GitHub) دارد. امتیاز ویژه یا مزیت رقابتی گیت لب مربوط به امکان ایجاد گیتهای خصوصی بهصورت رایگان و بدون محدودیت است. برای مثال در گیتهاب ساخت ریپوزیتوری خصوصی با اکانت رایگان ممکن نیست. اگر شرکتها بخواهند پروژههای خود را وارد یک گیت کنند، گیتلب گزینه بهتری برای آنها خواهد بود.
مقاله پییشنهادی : منظور از گیت Git چیست
گیت لب اولین بار در سال 2011 توسط زاپوروژتز و سیژوف روسی توسعه یافت. سالهای اولیه این محصول با موفقیت چندانی همراه نبود تا در سال 2018 تحت لیسانس دانشگاه MIT قرار گرفت و اولین ورژن پایدار آن در 22 ژانویه همان سال منتشر شد. همین تاریخ را میتوان بهعنوان شروع رسمی فعالیت رقابتی GitLab در بازار عنوان کرد. اما چه ویژگیهایی باعث شده است این محصول به صدر رقابت در بازار خود برسد و با GitHub رقابت تنگاتنگی داشته باشد؟
ویژگی ها و امکانات اساسی گیت لب چیست
گفتیم اصلیترین امتیاز GitLab، امکان ایجاد سورسکدهای خصوصی بدون پرداخت هزینه است. این یعنی شرکتها میتوانند بدون پرداخت هزینه از این سیستم برای نگهداری سورس کد پروژههای خود استفاده کنند. امکانات گیت لب اما به همین مورد خلاصه نمیشود.
- علاوه بر ایجاد سورسکد، ردیابی مشکلات (Issue-Tracking) و ویکیهای گیت لب هم رایگانند.
- گیت لب از یک رابط کاربری کاربرپسند و سریع برخوردار است که باعث محبوبیت بیشتر آن میشود.
- گیت لب CI مخصوص به خود را ارائه میدهد و برای همین تجربه کاربری خاص خود را دارد.. Continous Integration یا ادغام مداوم نامی برای سیستم ادغام نتیجه کار چندین برنامهنویس است.
- گیت لب با ارائه GitLab Community Edition به کاربران امکان انتخاب محل ذخیره سورس کدشان روی سرور را میدهد.
- تعداد مخزن (سورسکد)های ایجاد شده در گیتلب (خصوصی یا عمومی) هیچ محدودیتی ندارد و کاملا رایگان است.
- با استفاده از امکان Snippet که مختص گیتلب است میتوان بدون اشتراکگذاری تمام کد، بخشی از آن را بهاشتراکگذاشت.
مقایسه گیت لب و گیت هاب
این دو گیت بهعنوان رقیب اصلی هم بهحسابمیآیند. سرعت، دقت و امنیت بالا ویژگیهای مشترکی است که هر دوی این محصولات را به صدر بازار رسانده است. اما تفاوتهایی هم بدون شک بین این دو وجود دارد.
ویژگی | گیتهاب | گیتلب |
نوع پروژه ها | برای پروژههای عمومی مناسبتر است و بیشتر حالت شبکه اجتماعی بودنش امتیاز محسوب میشود. برای ایجاد پروژه خصوصی نیاز به پرداخت هزینههای بیشتر داریم. | برای پروژههای خصوصی (درون یک تیم یا شرکت) مناسب است و هزینهای در بر ندارد. |
ذخیره پروژه | نمیتوانید در حالت رایگان یک سازمان ایجاد کرده و درون آن پروژه ثبت کنید. | سازمانها مثل پوشهها در کامپیوتر عمل میکنند و میتوانید در درون آنها هر تعداد پروژه که میخواهید به صورت رایگان تعریف کنید. این قابلیت برای شرکتهای دانشبنیان کارایی بسیاری دارد. |
Issue Tracker | ردیاب مشکل در گیتهاب به pull request ها اجازه میدهد تا مشکلات را به صورت اتوماتیک اصلاح کنند. | ردیاب گیت لب به کاربران اجازه ایجاد ارتباط بین pull request و مشکلات را میدهد تا از این طریق بهطورخودکار اصلاح شوند. |
مستندسازی | راهنماییهای گیتهاب به صورت یک سلسله درسنامه موجود هستند. | راهنماییهای گیتلب مانند راهنماییهای موجود درباره یک زبان برنامهنویسی قابلیت جستجو دارند. |
ادغام کدها (CI) | در گیت هاب CI به صورت درونی وجود ندارد و از اشخاص ثالث ارائه میشود. | سیستم CI مخصوص خود را دارد و برای همین کیفیت ویژهتر و اطمینان بیشتری را ارائه میدهد. |
احراز هویت | با توجه به نقش فرد در تیم، سطح دسترسی آنها به کد تعیین میشود. | توسعهدهنده تصمیم میگیرد که یک فرد میتواند به کد دسترسی داشته باشد یا خیر. |
جامعه | گیت هاب به جامعه گسترده خود معروف است. در گیت هاب میتوانید کد خود را با دیگر برنامهنویسان به بحث گذاشته و از تجارب آنها استفاده کنید. | گیتلب اگرچه بیشتر میزبان کدهای خصوصی و درونتیمی است، رویدادهایی را جهت تقویت این جنبه خود میزبانی میکند. |
پلتفرم | پلتفرم مدیریت گیتهاب بسیار پیشرفتهتر است و امکاناتی همچون مدیریت وظایف اعضای تیم و ردیابی باگ را به مدیر تیم میدهد. | گیتلب یک DevOps بر پایه وب به کاربران ارائه میدهد که امکانات اساسی برای مدیریت کار برنامهنویسی بهصورت تیمی را در اختیار توسعهدهندگان میگذارد. |
Inner-Sourcing | گیت هاب به کاربران اجازه میدهد از پروژههای بزرگ اوپن سورس استفاده کرده و برنامههای خود را با اقتباس از آنها بسازند. | این قابلیت در گیتلب موجود نیست. |
محرمانگی کد | اگر پروژه خصوصی در گیتهاب ایجاد کنید، ماژول مخصوصی برای محرمانگی کد شما وجود دارد. | هیچ قابلیت ویژهای جهت حفظ محرمانگی کد وجود ندارد. |
نصب گیت لب
در مطلبی جداگانه به شیوه نصب گیت لب روی سیستمعاملهای معروف پرداختهایم..
آموزش کار با گیت لب
بعد از نصب گیت لب روی سیستم، نوبت به ایجاد اکانت و شروعبهکار میرسد. برای آموزش رایگان گیت لب و مبانی کار با آن ادامه مطلب را مطالعه کنید. در ادامه شروع کار و دستورات مختلف gitlab را میآوریم:
ایجاد پروژه
ایجاد اکانت و لاگین کردن به آن کار پیچیده و چالشبرانگیزی نیست. پس از نصب، ایجاد اکانت و لاگین کردن امکان ایجاد پروژه برای شما بهوجودمیآید. کافی است پس از ورود به پنل کاربری خود، روی دکمه سبزرنگی که در گوشه راست بالای صفحه قرار دارد (New Project) کلیک کنید. در ادامه صفحهای برایتان باز خواهد شد که در آن نام پروژه، آدرس اینترنتی پروژه، توضیحات اضافی و نوع پروژه (عمومی، خصوصی و داخلی) مشخص میشود. در پایان با کلیک روی دکمه سبز پایین صفحه (Create Project) پروژه ایجاد خواهد شد.
مقاله پییشنهادی : گیت هاب چیست؟
کار با پروژه
پس از انجام مراحل بالا یک صفحه برای پروژه ایجاد خواهد شد که امکاناتی را برای کار با پروژه در اختیارتان میگذارد. کار با پروژه در گیتلب دو راه دارد:
کار با پروژه از طریق سایت
رابط کاربری سایت یک صفحه به پروژه شما اختصاص میدهد. در نوار کناری این صفحه، امکاناتی برای کار با پروژه و رصد ویژگیهای مختلف آن وجود دارد که در ادامه معرفی میکنیم:
Forking
در کار با گیت، زمانی که میخواهید تغییری را در کد ایجاد کنید ابتدا آن را Fork کرده و سپس تغییرات را روی فورک انجام میدهید. فورک معادل یک کپی از تمام یا بخشی از کد شماست. برای این کار مطابق شکل زیر به صفحه پروژه خود رفته و روی دکمه Fork کلیک میکنید. در ادامه سایت از شما میخواهد این نسخه را در یک گروه مشخص قرار دهید و پس از چند دقیقه صبر، نسخه کپی شده کد شما برای اعمال تغییرات در دسترس خواهد بود.
مقاله پییشنهادی : نحوه نصب Git روی اوبونتو
ساخت یک Branch
برنچ یک خط مستقل از کد است که میتواند برای ساخت برنامههای جدید مورد استفاده قرار گیرد. برای ساخت Branch در کدتان، کافی است به صفحه پروژه در سایت گیت لب با اکانت خود مراجعه کرده و از نوار سمت راست بخش Repository زیربخش Branches را انتخاب کنید. در ادامه از شما خواسته میشود نام انشعاب را وارد کنید و در نهایت پس از کلیک روی دکمه Create Branch با صفحه زیر روبرو خواهید شد.
اضافه کردن یک فایل
برای افزودن یک فایل جدید به پروژه از دکمه + که در نوار بالایی صفحه پروژه دارد استفاده کنید. پس از کلیک روی + گزینههایی پیش روی شما میآید. در اینجا هم میتوانید یک فایل تازه ایجاد کرده و هم میتوانید یک فایل آپلود کنید.
Commit
زمانی که شما یک تغییر را Commit میکنید، شما در واقع آن تغییر را به Branch موجود معرفی مینمایید. بخش Commits نیز از قسمت Repository در دسترس است.
اطلاعات پروژه
تمام اطلاعات مهم مربوط به پروژه و روند ساخت آن در قسمت Repository قرار دارند. شما میتوانید از قسمت Contributers افرادی که در شکلگیری پروژه نقش داشتهاند را پیدا کنید و از قسمت Graph نمودار تغییرات انجام شده روی کد را مشاهده نمایید. برای مشاهده راهنمای کامل کار با سایت گیت لب میتوانید از این لینک استفاده کنید.
کار با پروژه از طریق کد
خود گیت لب توصیه میکند برای امنیت بیشتر از طریق کد SSH با پروژه کار کنید. برای این کار ابتدا لازم است به command prompt رفته و دستور زیر را تایپ کنید:
C:\−ssh-keygen
در ادامه از شما نامی برای ثبت کلید و همچنین یک گذرواژه ساخته میشود که به دلخواه وارد میکنید. پس از وارد کردن اینها به شما SSH key داده میشود. حالا به صفحه اول پنل کاربری خود در سایت مراجعه کرده و روی SSH Keys کلیک میکنید. پس از باز شدن صفحه بخشی به نام Key در آن وجود دارد.
مقاله پییشنهادی : نصب گیت در انواع سیستم عامل های مختلف
اگر دستور قبلی را تایپ کرده باشید در درایو C فایلی با پسوند .pub وجود دارد که حاوی Key است. محتویات آن فایل را در قسمت Key پیست کرده و روی Add Key کلیک مینمایید. این عملیات بهخاطر تامین امنیت کار با پروژه انجام میشود. این کلید در واقع گیت لب را مطمئن میکند صاحب اکانت و پروژه در حال کار با آن است.
کپی یک مخزن
با SSH میتوانید یک کپی محلی روی کامپیوترتان از کد تهیه کرده و روی آن کار کنید. برای این کار لازم است به command prompt رفته و دستور زیر را تایپ کنید:
git clone https://gitlab.com/gitlab-tests/sample-project.git
تبدیل یک آدرس محلی به مخزن
اگر بخواهید فایلی در کامپیوتر خود را وارد گیت لب کنید دستور ساده زیر به کار میآید:
Git init
اتصال یک فایل محلی به پروژه
اینگونه گیت لب، آن فایل را مرتبط با پروژه میداند و اطلاعات پروژه را با توجه به محتویات آن بهروز میکند. وارد ترمینال شده و وارد کنید:
git remote add origin <git@gitlab.com:username/projectpath.git>
Pull کردن آخرین تغییرات پروژه: یک کپی بهروز از پروژه از طریق این دستور در اختیارتان قرار میگیرد:
git pull <REMOTE> <name-of-branch>
ساخت یک Branch
در بخش قبل گفتیم که انشعاب به چه کار میآید. برای ایجاد انشعاب فرعی از طریق کد خواهیم داشت:
git checkout -b <name-of-branch>
حال اگر بخواهیم برگردیم و روی انشعاب اصلی کد کارکنیم دستور زیر به کار میآید:
git checkout master
Commit
برای کامیت کردن تغییرات از دستورات زیر استفاده میشود:
git add <file-name OR folder-name>
git commit -m "COMMENT TO DESCRIBE THE INTENTION OF THE COMMIT"
فرستادن تغییرات ایجاد شده به سایت: به این کار اصطلاحا Push کردن گفته میشود
git push <remote> <name-of-branch>
پوشش تمام کدهای موجود برای کار با گیت لب در این مقاله ممکن نیست. راهنمای کامل کدها را میتوانید در مستندات گیت لب پیدا کنید.
کلام آخر
کار با گیت در سالهای اخیر به یکی از بخشهای اجتناب ناپذیر شغل برنامهنویسان تبدیل شده است. این ابزار برای کار یک تیم روی یک پروژه طراحی شده است و دقت، امنیت و سرعت عملیات را بالا میبرد. اگر بخواهیم محبوبترین گیتهای موجود در بازار را نام ببریم، قطعا نیاز داریم به گیت لب اشاره کنیم. گیت لب و گیت هاب در کنار هم بهترین محصولات موجود در این زمینه به حساب میآیند.
در این مطلب با تمرکز بر گیت لب سعی کردیم ویژگیهای اساسی، امتیازات ویژه و مبانی کار با آن را به شما نشان دهیم. برای داشتن اطلاعات جزئیتر از کار با گیت میتوانید از دورههای آموزشی گیت مکتبخونه استفاده کنید. امیدواریم این مطلب توانسته باشد نیازهای شما را پاسخ دهد.