آشنایی با Git: اتصال به سرور و آپلود پروژه

Introduction to Git: Connect to the Server and Upload the Project

25 بهمن 1399
درسنامه درس 2 از سری آشنایی با Git
آشنایی با Git: اتصال به سرور و آپلود پروژه

در جلسه قبل با اکثر دستورات اصلی git آشنا شدید، البته در حوزه کار با فایل ها به صورت محلی! در حال حاضر پروژه ما به صورت local (محلی - یعنی روی سیستم خودمان) است بنابراین فقط در پوشه git. وجود دارد. با اینکه حالت local قابلیتی بسیار کاربردی است اما در اکثر مواقع نیاز است که پروژه را روی یک سرور آنلاین قرار دهیم و بحث جلسه امروز نیز همین است. من مقاله این جلسه را به چهار قسمت اصلی تقسیم کرده ام:

  • اتصال به repository روی سرور
  • آپلود فایل ها به repository
  • clone کردن پروژه های دیگران
  • دریافت تغییرات از سرور

1. اتصال به repository remote

remote repository یعنی هر repository ای که به صورت محلی نباشد. برای آپلود کردن پروژه به repository آنلاین باید ابتدا به آن متصل شویم. من یک آدرس جدید به نام https://github.com/Amir-Zouerami/roxo-ir-sample را ساخته ام تا با آن کار کنیم. شما می توانید به راحتی با ورود به GitHub و کلیک روی علامت + (بالا و سمت راست صفحه) یک repository جدید بسازید. برای لینک کردن repository محلی خودمان با GitHub باید دستور زیر را در ترمینال خود وارد کنیم:

$ git remote add origin https://github.com/Amir-Zouerami/roxo-ir-sample.git

نکته: اگر هنگام نصب Git گزینه استفاده از command prompt ویندوز را انتخاب کرده باشید می توانید در همان محیط با Git کار کنید، در غیر این صورت git bash را باز کنید (در منوی start ویندوز آن را سرچ کنید) و کدها را درون آن بنویسید.

عجیب نیست که پروژه ما چندین repository آنلاین داشته باشد بنابراین برای اینکه بتوانیم آن ها را از هم تشخیص دهیم نام های مختلفی برایشان انتخاب می کنیم. معمولا توسعه دهندگان برای repository اصلی نام origin را انتخاب می کنند بنابراین ما هم در دستور بالا نام origin را انتخاب کرده ایم اما شما می توانید هر نامی که دوست داشتید انتخاب کنید. همچنین توجه داشته باشید که به جای آدرس https://github.com/Amir-Zouerami/roxo-ir-sample.git باید آدرس repository خودتان را قرار دهید.

حالا به repository خود متصل شده ایم.

2. آپلود فایل ها به سرور

پس از آنکه به repository خود متصل شده ایم باید فایل پروژه خود را به سرور بفرستیم. به همین پروسه ارسال commit محلی به سرور push می گویند بنابراین اگر عملیات push را جایی دیدید سر در گم نشوید؛ هر زمان که بخواهیم repository روی سرور (remote repository) خود را بروزرسانی کنیم باید از دستور push استفاده کنیم.

دستور push دو پارامتر می گیرد:

  • نام remote repository: همانطور که در مرحله قبل گفتیم، ما نام repository خود را origin گذاشتیم. اگر شما نام دیگری را انتخاب کردید باید آن را با origin در این آموزش جا به جا کنید.
  • branch یا شاخه ای که فایل ها برایش ارسال می شود: از آنجایی که ما هنوز هیچ شاخه ای (branch) برای repository خود ایجاد نکرده ایم از همان شاخه پیش فرض و اصلی تمام repository ها به نام master استفاده می کنیم.

حالا می گوییم:

$ git push origin master

سپس از شما درخواست می شود نام کاربری و ایمیل خود را وارد کنید تا وارد حساب خود شوید. اگر two-factor authentication را فعال کرده باشید (چه با شماره تلفن و چه از طریق نرم افزار های authenticator) از شما خواسته می شود که کد آن را نیز ارسال کنید.

 در صورتی که این مرحله را به طور صحیح انجام دهید، باید چنین نتیجه ای دریافت کنید:

$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 215 bytes | 215.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Amir-Zouerami/roxo-ir-sample.git
 * [new branch]      master -> master

اگر به پروفایل GitHub خود رفته و سپس روی repository مورد نظرتان کلیک کنید باید فایل hello.txt را در آنجا ببینید.

3. clone کردن repository ها

در حال حاضر تمام کاربران می توانند repository شما را روی سایت GitHub ببینند، آن را دانلود کنند و یک کپی کامل از پروژه شما را با دستور git clone داشته باشند، مگر اینکه در هنگام ایجاد repository در سایت GitHub آن را روی private تنظیم کرده باشید.

به طور مثال اگر ما از پروژه خودمان clone (به معنی «شبیه سازی») بگیریم:

$ git clone https://github.com/Amir-Zouerami/roxo-ir-sample.git

و حالا به پوشه git_exercise مراجعه کنیم می بینیم که یک پوشه به نام roxo-ir-sample در آن ایجاد شده است. در واقع repository ما درون پوشه ما کپی شده است. حالا فرض کنید که میخواهیم از پروژه https://github.com/buzinas/simple-scrollbar یک clone ایجاد کنیم:

$ git clone https://github.com/buzinas/simple-scrollbar

حالا یک پوشه دیگر به نام simple-scrollbar در پوشه git_exersice ایجاد می شود.

نکته: ما درون پوشه git_exercise هستیم (استفاده از دستور cd در ابتدای جلسات قبل) به همین دلیل repository ها در این پوشه clone می شوند. در صورتی که می خواهید آن ها را در پوشه دیگری clone کنید ساده ترین راه این است که به پوشه مورد نظر بروید و سپس کلید shift را نگه دارید و کلیک راست کنید. از آنجا گزینه git bash here را انتخاب کنید تا ترمینال git bash برایتان باز شود. حالا اگر دستور git clone را اجرا کنید، repository ها درون این پوشه کپی می شوند.

4. دریافت تغییرات از سرور

اگر تغییراتی را درون repository خود ایجاد کنید، افراد می توانند با استفاده از دستور pull (به معنی «کشیدن» - برخلاف دستور push به معنی «هل دادن») تمامی این تغییرات را دانلود کنند. به طور مثال:

$ git pull origin master
From https://github.com/Amir-Zouerami/roxo-ir-sample
 * branch            master     -> FETCH_HEAD
Already up to date.

از آنجایی که هیچ تغییری در این repository انجام نشده است پیام Already up to date (به معنی «در حال حاضر بروز است») را دریافت می کنیم.

در قسمت بعد وارد مبحث branch ها خواهیم شد. امیدوارم این قسمت برای شما مفید بوده باشد.

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری آشنایی با Git توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.