وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

راهنمای سریع استفاده از gitlab و دستور git

گیت چیست و چطور از آن استفاده کنیم

0 155
زمان لازم برای مطالعه: 5 دقیقه
راهنمای سریع استفاده از gitlab و دستور git
5 (100%) 1 رای

گیت چیست ؟!

گیت یک ورژن کنترل است!

گیت (به انگلیسی: Git) یک نرم‌افزار کنترل نسخه و از مدل نرم‌افزارهای آزاد و متن‌باز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برای دنبال کردن تغییر فایلهای کامپیوتری و دنبال کردن کردن کارهای انجام شده روی آنها توسط افراد مختلف است. هدف اولیه این نرم‌افزار برای استفاده در پروژه‌های نرم‌افزاری بوده است ولی می‌توان از آن تنها برای دنبال کردن تغییر فایل‌ها هم استفاده کرد. [ ویکی پدیا ]

نصب و فعال سازی گیت

برای نصب و دانلود گیت به وب سایت git-scm.com مراجعه کنید و مراحل نصبش را طی کنید و برای نصب گیت هاب هم در صورتیکه وارد وبسایت گیت هاب شوید می توانید نرم افزار مربوط به گیت هاب را دانلود کنید و به راحتی ریپازیتوری هایی که ایجاد میکنید را مدیریت کنید.

با توجه به اینکه برای پروژه ها بیشتر از گیت لب استفاده میکنم بیشتر در این رابطه صحبت میکنم هرچند دستورات و کامندهای گیت هاب هم شبیه به گیت لب است و تفاوت زیادی ندارد.

ایجاد SSH key برای گیت‎لب

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

profile settings ssh keys gitlab

برای فعالسازی ابتدا در مسیر موردنظر ترمینال را باز میکنیم و س‍پس کد زیر را وارد میکنیم :

۲ – کد تولید شده را در باکس تصویر فوق که با دستور زیر ک‍پی میشود قرار میدهیم و ایجاد میکنیم :

البته دستور آخر برای سیستم عامل های مختلف متفاوته که من برای مک نوشتم پ برای سایر سیستم عامل ها به صورت زیر است :

SSH KEY

گیت لب ( GitLab )

دستورات گیت به صورت زیر هستند :

ایجاد یک ریپازیتوری جدید بر روی سیستم خود

دانلود از یک ریپازیتوری موجود (url) بر روی سیستم خود

لیست تغییرات و یا فایل های جدیدی که هنوز commit نشدند.

افزودن همه فایلهای جدید به stage و آماده بودن برای commit

افزودن فایل موردنظر به stage و آماده برای commit کردن

commit کردن همه فایلهای موجود در stage

به طور همزمان، هم فایل ها را add میکنیم و هم commit  میکنیم و توضیحی برای commit قرار می دهیم.

git commit -a automatically stage all tracked, modified files before the commit If you think the git add stage of the workflow is too cumbersome, Git allows you to skip that part with the -a option. This basically tells Git to run git add on any file that is “tracked” – that is, any file that was in your last commit and has been modified. This allows you to do a more Subversion style workflow if you want, simply editing files and then running git commit -a when you want to snapshot everything that has been changed.

آپلود و ارسال فایلهای جدید به سرور زیر نظر branchی که در آن هستیم.

پیشنهاد می‎کنیم بخوانید:
آموزش نصب گیت (Git)روی Ubuntu 18.x

آپلود و ارسال فایلهای جدید به سرور زیر نظر branch اصلی master که معمولا اینکار انجام نمی شود و ترجیحا روی branch دیگری push میکنیم و سپس merge میکنیم.

دریافت آخرین تغییرات از سرور و merge.

نکته : وقتی به صورت تیم روی پروژه ای کار می‌کنید مثلا شما روی branchی به نام example هستید و تغییراتی اخیرا روی پروژه روی برنچ تست پروژه به نام برنچ dev انجام شده، شما بدون اینکه نیاز باشه که مرج رکوستی ارسال کنید میتوانید آخرین تغییرات را از برنچ dev دریافت کنید به صورت زیر:

——–

مشخص شدن این موضوع که در کدام branch هستیم و کدها را در کدام branch تغییر و یا دریافت میکنیم.

دریافت آخرین تغییرات از origin branch. ( no merge )

( در صورتیکه در Branchی هستیم و میخواهیم تغییر branch دهیم، اگر branch را جدیدا ایجاد کرده باشیم باید کد فوق را وارد کنیم تا branch ها و تغییرات شناسایی شوند. )

نمایش لیست همه branch

تغییر branch مثلا به شاخه Develope

ایجاد Brnach جدید با نام New_Branch.

نمایش لیست تمام Branchها، Local and Remote

حذف My_Branch از لیست Branchها.

Merge کردن Branch_B داخل Branch_A.

نمایش تغییرات فایلهایی که هنوز وارد stage نشدند.

نمایش تغییرات فایلهایی که وارد stage شدند.

نمایش تمام تغییرات فایلهایی که وارد stage شدند و فایل هایی که هنوز وارد stage نشدند (Unstage).

تفاوت تغییرات بین دو commit را نمایش میدهد.

لیست تمام تغییرات فایل موردنظر را همراه با تاریخ و نام دولوپری که تغییرات را ایجاد کرده است نمایش می دهد.

نمایش لیست تمام تغییرات فایل ها.

نمایش تاریخچه تمام تغییرات به همراه اطلاعات تگ

نمایش تاریخچه لیست تغییرات فایل file/directory با نمایش لیست تغییرات آنها (diff) در جریان کامیت ها.

unstage  کردن فایل مورد نظر و اعمال تغییرات جدید.

بازگردانی ( Revert ) تمام تغییرات از آخرین commitی که انجام شده است.

 

نمایش لیست تگ‌های موجود

افزودن تگ به آخرین فایلها و تغییرات انجام شده

پیشنهاد می‎کنیم بخوانید:
برنامه نویسی برای مبتدیان - کنترل نسخه

حذف تگ روی ریپازیتوری

حذف تگ ایجاد شده روی لوکال

ارسال همه تگ‌های ایجاد شده روی ریپازیتوری

افزودن تگ به همراه توضیحات. وقتی از این دستور استفاده میکنید صفحه جدیدی باز می‌شود تا توضیحات تگ را وارد کنید.

ایجاد تگ به همراه توضیحات

نمایش لیست تگ‌ها به همراه توضیحات هر تگ
 نکته ۱ :  درصورتیکه بخواهیم پروژه را از  گیت‌لب clone کنیم و روی سیستم خود راه اندازی نمائیم همانطور که می‌دانیم دستور زیر را وارد میکنیم :

در این حالت پروژه با فولدری به نام project-name که روی گیت قبلا ساختیم بر روی سیستم ما ایجاد می‌شود، وقتی ما مثلا می‌‌خواهیم پروژه را روی سرور pull کنیم و قبلش باید پروژه را clone کنیم به احتمال زیاد نمی‌خواهیم با اسمی که روی گیت وجود دارد روی سرور باشد و فقط میخواهیم محتویات آن را داخل فولدری با نامی که ما میسازیم مثلا example ایجاد نماییم. برای اینکار کد زیر را به جای کد فوق وارد می‌کنیم:

یا

همچنین میتوانیم وارد فولدر مورد نظر شویم و دستور زیر را وارد کنیم :

علامت dot آخر دستور بسیار مهم است اگر آن را ننویسیم با اسم ریپازیتوری پروژه clone میشود.

تجربه ۱ : در پروژه‌ای که اخیرا انجام شد فایلی به نام composer.json به صورت کاملا اتفاقی توسط یکی از اعضای تیم روی سرور تغییر داده شده بود و وقتی آخرین تغییرات را روی سرور pull میکردیم اجازه داده نمیشد چراکه اول باید تغییرات روی سرور تکلیفش مشخص میشد! 

git checkout file before commit

همانطور که در تصویر می‌بینید تا وقتی این فایل که تغییر داده شده بود revert نشد اجازه pullکردن آخرین تغییرات به ما داده نشد. برای اینکه فایل رو به حالت قبل و بدون تغییر برگردانیم با توجه به اینکه فایل commit نشده بود از دستور زیر استفاده کردیم.

قرار دادن پروژه روی گیت‌لب

وقتی توی گیت‌لب پروژه ای ایجاد می‌کنید مطابق توضیحات بالا به راحتی با clone کردن آن میتوان پروژه را روی لوکال خودمون ایجاد کنیم. ولی اگر قبلا فولدر پروژه ایجاد شده بود و میخواستیم روی گیت ارسال کنیم چگونه باید اقدام کنیم؟! 

وقتی پروژه ای جدید را در گیت‌لب ایجاد می‌کنیم با تصویر زیر روبرو می‌شویم که ما را به درستی و کاملا واضح راهنمایی می‌کند :

gitlab instalation

 

همانطور که در توضیحات بالا ذکر شده یا پروژه را clone میکنیم و اگر فولدر قبلا وجود داشت و خواستیم روی گیت‌لب قرار دهیم به صورت توضیحات Existing folder  اقدام می‌کنیم. به ترتیب کدهای زیر را اجرا می‌کنیم.

دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید