برنامهنویسی همواره پیچیدگیهای خاص خود را دارد. از این رو در روند نوشتن هر برنامهای، از چندین برنامه نویس ماهر و کاربلد استفاده میشود. اما بکارگیری چندین برنامهنویس برای یک پروژه میتواند مشکلاتی را به همراه داشته باشد زیرا هر برنامهنویسی تغییراتی را ایجاد میکند که برنامه نویس دیگر از آن بی اطلاع است. وجود این ناهماهنگیها در روند برنامهنویسی مقدمهای بر تهیه و طراحی پروژه گیت شد. گیت لب به برنامهنویسان این فرصت را میدهد که به مراحل قبل و تغییرات اعمال شده در روند برنامهنویسی دسترسی داشته باشند. برای بهره بردن از این برنامه و مدیریت درست پروژهها، دسترسی داشتن به سرور گیت الزامی است. با توجه به اینکه اطلاعات محدودی در خصوص سرور گیت و گیت لب وجود دارد، این مقاله به این مبحث مهم اختصاص یافته است.
گیت لب چیست؟
قبل از پرداختن به سرور گیت لازم است که معرفی اجمالی از گیت لب صورت گیرد. گیت لب یک سیستم کنترل ورژن متن باز است که کدنویس را قادر به ایجاد تغییر (به صورت برخط ) بر روی پروژه میکند. همچنین دسترسی داشتن به این سیستم شرایطی برای دسترسی داشتن به سوابق تغییرات اعمال شده بر سیستم، را فراهم میکند. از محاسن این سیستم میتوان به تحت وب بودن آن اشاره کرد. تحت وب بودن شرایطی را برای کار همزمان و گروهی بر روی یک پروژه ایجاد میکند. علاوه بر این هر فردی میتواند تغییرات اعمال شده را به دیگران گزارش دهد. موارد ذکر شده موجب شده است که استفاده از این سیستم مورد توجه بسیاری از شرکتهای بزرگ قرار گیرد.
سرور گیت لب چیست؟
استفاده از گیت لب مستلزم داشتن سرور گیت است. با استفاده از سرور گیت میتوان به یک سری از امکانات تحت وب دسترسی داشت. شرکتهای بسیار زیادی اقدام به ارائه سرور میزبانی تحت وب گیت کردهاند که از جمله آن میتوان به گیت هاب، بیت باکت و گیت لب اشاره کرد. در این بین سرور گیت لب از محبوبیت بیشتری برخوردار است. با کمک سرور گیت لب میتوان اقدام به ساخت مخزن و آپلود کارهای مربوطه کرد. اما متاسفانه اعمال تحریمات مختلف موجب محدودیت استفاده از این سرورها شده است. از این رو استفاده از آنها مستلزم داشتن ایمیل و نام کاربری غیر ایرانی است.
خرید سرور گیت به چه منظوری انجام میشود؟
خرید سرور گیت به علت وجود سرورهای رایگان ممکن است در نگاه اول چندان کار معقولی به نظر نیاید. اما استفاده از سرور شخصی به افزایش امنیت کدها و دادههای ذخیره شده کمک میکند. همچنین استفاده از سرورهای شخصی موجب از بین رفتن محدودیتهای فضای تعریف شده برای سرویس شخص ثالث میشود. در واقع سیستم شخص ثالث به گیتها اجازه آپلود فایل بیشتر از 100 مگابایت را نمیدهد که همین امر محدودیتهای بسیار زیادی را برای افرادی که سرور شخصی ندارند، ایجاد میکند. با این تفاصیل خرید سرور گیت امکانات و قابلیتهای بیشتری را برای کاربر به همراه دارد.
مزایای استفاده از سرور گیت لب چه چیزی است؟
استفاده از سرور گیت لب با محاسن بیشماری همراه است که در ادامه به برخی از آنها اشاره میشود.
- استفاده از سرور گیت لب این اجازه را به کاربر میدهد که برای سرور و برای برنامه خود معیارهای خاصی را تعریف کند. یعنی با کمک آن میتوان یک شاخه خاص را تعریف و بر اساس آن بر نسخههای تولیدی نظارت داشت.
- با کمک سرور گیت لب کاربران میتوانند بدون هیچگونه محدودیتی مخازن مختلفی را ایجاد کنند. لازم به ذکر است دسترسی داشتن به نسخه Enterprise مستلزم پرداخت هزینه اضافی است.
- استفاده از این سرور شرایطی را برای ردیابی آنلاین مشکلات و مرتفع کردن آنها فراهم کرده است.
- گیت لب یک سرویس منبع باز است که میتوان آن را بر روی سرور مجازی اعم از سرور مجازی آلمان ، سرور مجازی لینوکس و سرور مجازی ویندوز نصب کرد.
- گیت لب با پروتکل دسترسی سبک دایرکتوری ادغام شده است. همین امر موجب شده است که کاربر بتواند منابع مختلف را در وب قرار دهد و به راحتی به آنها دسترسی داشته باشد.
- با استفاده از سرور گیت لب میتوان هماهنگی بین اعضای تیم را افزایش داد. این امر منجر به افزایش نظم، دقت و سرعت در تمامی پروژهها میشود.
آموزش نصب گیت
آخرین نسخه گیت توسط macOS ارائه شده است که آن را میتوان بر روی macOS نصب کرد. بهتر است برنامه گیت به وسیلهی Homebrew نصب شود زیر به واسطه آن میتوان به طیف وسیعی از کتابخانهها و برنامهها دسترسی داشت. پیش نیاز نصب این برنامه وجود 15 گیگابایت فضای خالی برای Homebrew و Xcodeاست. همچنین باید دیسک اضافی برای توسعه کتابخانه در نظر گرفت.
نصب git روی macOS
1-حال به منظور نصب گیت بر روی macOS لازم است از نوار افزار Tools، XCode نصب شود. از طرف دیگر کل بسته XCode را میتوان از طریق برنامه اپ استور macOS نصب کرد.
xcode-select --install
2-با کلیک بر روی گزینهی Install میتوان اقدام به نصب XCode Command Line Tools کرد.
3- نصب Homebrew نیز باید مطابق با دستورالعمل رسمی Homebrew صورت گیرد.
4- با اجرای brew install git، Git بر روی داشبورد شخصی نصب میشود. به منظور بررسی عملکرد گیت بر روی رایانه مسیر زیر طی میشود.
git --version
نصب git روی Ubuntu
برای نصب گیت در لینوکس در Ubuntu و سایر اپراتورهای لینوکس از مدیریت بسته داخلی برای نصب گیت استفاده میشود. با اجرای دستور زیر میتوان آخرین نسخه بایگانی شده گیت را نصب کرد.
sudo apt-add-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
برای بررسی عملکرد گیت بر روی رایانه لازم است دستور زیر اجرا شود.
git --version
نصب git روی Windows
از وبسایت گیت نسخه ویندوز را دانلود و نصب کنید.
ساخت یک پروژه تستی در گیت لب
به منظور ساخت یک پروژه جدید در گیت لب لازم است مراحل زیر پشت سر گذاشته شود:
- در قدم اول باید به حساب GitLab وارد مسیر زیر را طی کنید Menu > Projects > Create new project
- روی گزینه Create blank project کلیک کنید
- در قسمت نام پروژه My sample project را وارد کنید، این نام در ادمه انواع slug پروژه شما استفاده خواهد شد.
- در مرحله پایانی روی Create projectکلیک کنید.
Clone the repository
به منظور clone ریپازتوری لازم است در صفحه پروژه URL را برای کلون کردن با SSH کپی کنید.
2- در terminal ویندوز به پوشه ای که قصد کلون کردن پروژه در آن را دارید بروید
3- دستور زیر را وارد کنید.
git clone [email protected]:gitlab-example/my-sample-project.git
4- برای رفتن به دایرکتوری دستور زیر را بنویسید
cd my-sample-project
git branch
ساخت branch و اعمال تغییرات
برای ساخت یک برنچ تستی با نام example-tutorial-branch دستور زیر را تایپ کنید.
git checkout -b example-tutorial-branch
فایل README.md را باز کنید و عبارت زیر را در آن اضافه کنید.
Hello world! I'm using Git!
گیت تغییرات را ذخیره میکند با این حال برای این منظور از دستور زیر استفاده کنید.
git status
خروجی باید مانند زیر باشد.
On branch example-tutorial-branch
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
Commit و push کردن تغییرات
به این منظور از دستورات زیر استفاده کنید
1-
git add README.md
2-
git status
خروجی دریافتی باید شبیه به موراد زیر باشد
git push origin example-tutorial-branch
On branch example-tutorial-branch
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
3- در این مرحله staged file را کامیت کنید و یک پیام حاوی تغییرات انجام شده ثبت کنید
git commit -m "I added text to the README file"
4- در این مرحله لازم است تغییرات انجام شده را به سرور منتقل کنید به این منظور از دستور زیر استفاده کنید.
git push origin example-tutorial-branch
5- در این مرحله تغییرات اعمال شده و پروژه ایجاد شده روی گیت قابل مشاهده است.
راه اندازی گیت لب روی سرور لینوکس چه مزیتهایی دارد؟
از ویژگیهای سرور گیت لب، منبع باز بودن آن است یعنی کاربر میتواند این سرویس را برای استفاده شخصی در سرور خود قرار دهد. با توجه به اینکه برخی از کدها از اهمیت بالایی برخوردارند بسیاری از کاربران تمایلی به قرار دادن آنها در یک سایت ثانویه ندارند به همین دلیل به داشتن سرور شخصی تمایل نشان میدهند. در این شرایط با تهیه سرور لینوکس و نصب گیت لب بر روی آن میتوان یک سرور گیت شخصی و کاملا امن ایجاد کرد.
با راهاندازی گیت لب بر روی سرور مجازی لینوکس ، کاربر همواره این اطمینان را دارد که کد در اختیار شخص دیگری به غیر از او نیست. در واقع اطلاعات در سرور شخصی محافظت میشود. علاوه بر این تحریمها و فیلترها بر این اطلاعات ذخیره شده اثرگذار نیستند زیرا کاربر سرور لینوکس خود را دارد.
گیت هاب بهتر است یا گیت لب؟
همانگونه که گفته شد سرورهای مختلفی اعم از سرور گیت هاب و گیت لب عرضه شده است. اما بسیاری در انتخاب آنها مردد هستند زیرا نمیدانند کدام یک از آنها بهتر است. در ادامه مقایسه اجمالی از این دو سرور صورت گرفته است که بر اساس آن هر کسی میتواند بهترین انتخاب را داشته باشد.
- در سرور گیت لب امکان تعریف دسترس پذیری افراد با توجه به نقش آنها وجود دارد اما در گیت هاب تنها میتوان تصمیم گرفت که فردی به مخزن دسترسی داشته باشد یا خیر.
- گیت لب به صورت رایگان سرویس ادغام مداوم اختصاصی خود را ارائه میدهد. در واقع بعد از آنکه توسعهدهنده کد را وارد کرد، نرم افزار به روزرسانی میشود.
- در گیت لب میتوان هر فایلی را به طرح مسئله و یا کامنت اضافه کرد این در حالی است که گیت هاب این امکانات را ندارد.
- در گیت لب شرایطی فراهم شده است تا توسعه دهندگان پروژههای فعال را مرور کنند و آنها را به اشتراک بگذارند.
- ابزار پیگیری مسائل در گیت لب به مراتب قدرتمند و حرفهای تر از گیت هاب است.
- مخازن گیت هاب به دو دسته خصوصی و عمومی (رایگان) تقسیم میشود. اما مخازن گیت لب به صورت نسخه کامیونیتی (رایگان)، اینترپرایز( پولی)، com (رایگان) و lo (موقت و اجارهای) عرضه شده است.
آیا امکان نصب گیت لب روی سرور ویندوز وجود دارد؟
بله، نصب گیت روی ویندوز بسیار ساده است؛ به این منظور تنها کافی است Git را از از وبسیایت رسمی دانلود و روی سرور مجازی ویندوز خود نصب کنید.