ارسال، آپلود یا push پروژه روی گیت لب gitlab

گیت یک نرم‌افزار اوپن سورس است که از سوی لینوس توروالدز ایجاد شده است. این ابزار یک سیستم کنترل نسخه (Version Control System) است.

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

گیت لب و گیت هاب هم مخزن ها ذخیره کدها یا فایل ها هستند ما میتوانیم تغییرات کدها یا فایل های خود را در هر مخزن دیگری ذخیره کنیم یا در مباحث پیشرفته میتوان یه سرور لینوکسی را به یک مخزن ذخیره کد تبدیل کرد.

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

243

پرسش و پاسخ

0
ارسال، آپلود یا push پروژه روی گیت لب gitlab

در این مقاله ما پروژه خود را بر روی مخزن گیت لب بارگزاری میکنیم که تفاوت چندانی با گیت هاب یا سایر مخازن گیت ندارن.

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

پس از نصب گیت بر روی  سیستم عامل خود حالا وارد سایت گیت لب شده و یک حساب کاربری ایجاد کرده و وارد آن میشویم و بر روی new project  کلیک میکنم.

ارسال، آپلود یا push پروژه روی گیت لب gitlab مرحله اول ساخت پروژه بر روی مخرن گیت

سپس بر روی create blank project کلیک کرده و در صفحه باز شده اطلاعات درخواست شده را به صورت تصویر زیر پر کنید ، توجه داشته باشید که در قسمت Visibility Level اگر گزینه Private را انتخاب کنید ، تنها خود و هم تیمی هایتان به پروژه دسترسی دارید و اگر گزینه Public را انتخاب کنید ، پروژه شما به صورت عمومی منتشر شده و برای عموم قابل رویت هست.

ارسال، آپلود یا push پروژه روی گیت لب gitlab مرحله دوم نوع پروژه private یا public

ایجاد SSH key برای push پروژه در گیت لب

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

کلیدهای SSH در دایرکتوری [tag]~/.ssh[/tag] ذخیره‌سازی میشن. شما میتونین هر تعدادی که بخواید کلید در این دایرکتوری بسازید و استفاده کنید چون علاوه بر Git برای چیزهای بسیار زیادی از کلیدهای SSH استفاده میشه.

برای اینکه ببینید کلیدی از قبل وجود داره یا نه، در ابتدا در ویندوز git bash رو باز کرده و دستور [tag]ls -la ~/.ssh[/tag] رو اجرا کنید. بصورت زیر:

ایجاد SSH key برای push پروژه در گیت لب

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

وارد محیط bash گیت شده و دستور زیر را وارد میکنیم:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

با اجرای دستور فوق از شما سوال میشود که این کلید را در کجا و با چه اسمی بسازی که بصورت پیش فرض C:\Users\behzad\.ssh در این مکان و به نام id_rsa  ساخته میشود .

پس از اجرای دستور بالا و ساختن کلید وارد آدرسی که کلید را در آن ذخیره کردین شوید با هر بار اجرای دستور دوکلید ساخته میشود به عنوان مثال id_rsa و id_rsa. pub. کلیدی که با پسوند pub  ساخته شده است را با notepad باز کرده و اطلاعات داخلش را کپی کنید وارد حساب کاربری خود در گیت لب شوید مطابق تصویر وارد تنظیمات edit profile و ssh key شوید سپس کلید را کپی کرده و در اینجا پیست کنید و ایمل و تاریخ انقضایش را ثبت کنید.

ایجاد SSH key برای push پروژه در گیت لب

پس از انجام کارهای بالا ،گیت بر روی سیستم ما نصب شده و اجازه دسترسی به مخزن خود با سیستم را هم با ssh دادیم.

اکنون مخزن پروژه ما در گیت لب آماده بارگذاری است برای این کار میتوانیم از دو روش استفاده کنیم

  • زمانیکه پروژه از پایه شروع میکنیم و فعلا هیچ کدی وجود ندارد :

بر روی دکمه clone زده و آدرس https آن کپی میکنم

برای ایجاد مخزن بری سیستم خود به آن نیاز پیدا میکنیم برای این کار دستور زیر را وارد میکنیم :

git clone [HTTPS ADDRESS] 

اکنون مخزن در فراخوانی دستور clon موجود میباشد

 میتوانیم در این محل پروژه خود را شروع کرده و سپس با دستورات گیت کدهای خود را ورژن بندی کنیم.

 

  • پروژه آماده ای برای ارسال بر روی گیت داریم

وارد دایروکتوری پروژه شده و دستورات زیر را به ترتیب وارد میکنیم :

git init 

این دستوره git را در پروژه ما اجرا کرده سپس با دستور remote آن را به مخزن گیت لب خود اتصال میدهیم.

git remote add origin [HTTPS ADDRESS]

خوب حالا پروژه ما آماده ارسال بر روی مخزن گیت هست که میتوان با دستورات اجرای گیت آن را بارگذاری کرد ، ما به عنوان مثال در این جا یک پروژه فرضی لاراول را میخواهیم بر روی گیتی که به مخزن متصل است ارسال کنیم.

قبل از اجرای هر دستوری فایل هایی از پروژه را که نمیخوایم به مخزن منتقل شوند را به گیت معرفی می کنیم مثلا در یک پروژه لاراولی  تصاویر پروژه، پوشه vendor و ....

مشخصات قسمت هایی از پروژه را که نمیخوایم مورد بررسی گیت قرار گیرد را به فایل  git ignore میدهیم که ابزاری برای همین کار است که خود گیت ارائه میدهد اگر هم فایل gitignore در پروژه موجود نبود میتوانیم آن را با دستور زیر ایجاد کنیم :

touch .gitignore

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

/node_modules

/public/storage

/storage/*.key

/vendor

.env

توجه داشته باشید که هر آدرس یا مشخصه باید در یک سطر باشد از فاصله گذاری هم استفاده نکنید.

فایل های که به مخزن گیت اضافه نمیشوند را معرفی کردیم حال با دستور git status فایل های که گیت آن ها را بررسی میکند یا به عبارت دیگر درخت کاری خود را میبینیم.

دستور git status برای مشخص کردن موارد جدید برای آپلود روی گیت

اگر مانند تصویر بالا مشخصات فایل های که به گیت ایگنور دادیم وجود نداشت پس به درستی عمل کرده است حالا باید فایل های مورد بررسی گیت را در آن ثبت کنیم برای این کار از دستور git add [file name] یا git add .  که تمام فایل های موجود را ثبت میکند استفاده کنیم پس از پایان پردازش باز هم دستور git status را وارد میکنیم این بار مشخصات فایل های که گیت با موفقیت در خود ثبت کرده را به صورت زیر میبینیم :

دستور git add برای افزودن فایل های قابل آپلود

فایل ها با موفقیت در گیت شناسایی و ثبت شدند قبل از ارسال آن بر روی مخزن گیت لب باید پیامی را در مورد این اضافه سازی به گیت بدیم که این پیام در گیت لب هم ثبت میشود برای یادآوری در آینده و به هر زبانی میتواند باشد، دستور زیر را وارد میکنیم :

git commit -m "you'r massage"

پس انجام این کار بازم git status را میزنیم تا وضعیت کارمان را ببینیم باید با پیام زیر روبرو شویم :

دستور git status برای چک کردن تغییرات در آپلود گیت

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

git push -u origin master

پروژه با موفقیت ارسال شد