Git Remote Github | گیت ریموت و گیت هاب
توضیحات جلسه
جزوه و مستندات
مفاهیم کلیدی
Git Remote
یک ارجاع یا پیوند به نسخهای از مخزن (Repository) است که در مکانی خارج از سیستم محلی شما، مانند یک سرور یا پلتفرم ابری، میزبانی میشود.
GitHub
پلتفرمی مبتنی بر وب است که از سیستم کنترل نسخه Git استفاده میکند و امکاناتی برای مدیریت پروژه، همکاری تیمی و ردیابی تغییرات از هر نقطهای از جهان فراهم میسازد.
Repository (Repo)
فضایی برای ذخیره تمام فایلهای پروژه به همراه تاریخچه کامل تغییرات آنها است. مخزنها میتوانند Public باشند و برای همه قابل مشاهده باشند یا Private باشند و دسترسی به آنها محدود شود.
Push
فرایند ارسال کدها و Commitهای محلی از سیستم برنامهنویس به مخزن Remote است.
Pull
فرایند دریافت آخرین بهروزرسانیها و تغییراتی است که سایر اعضای تیم در مخزن Remote اعمال کردهاند. این تغییرات پس از دریافت با نسخه محلی پروژه ادغام میشوند.
Pull Request (PR)
درخواستی برای بررسی کدهای جدید و پیشنهاد ادغام آنها در شاخه اصلی پروژه است. استفاده از Pull Request به افزایش کیفیت کد و بهبود همکاری تیمی کمک میکند.
Issue
ابزاری برای ثبت گزارش باگها، پیشنهادها یا وظایفی است که باید در پروژه انجام شوند. با استفاده از Issue میتوان روند پیشرفت کار را پیگیری کرد.
Git Clone
فرایند ایجاد یک کپی کامل و دقیق از مخزن Remote روی سیستم محلی است. این کار معمولاً برای شروع کار روی یک پروژه انجام میشود.
Personal Access Token (PAT)
یک کد امنیتی است که بهجای رمز عبور معمولی، برای احراز هویت هنگام انجام عملیاتی مانند Push استفاده میشود و امنیت دسترسی به GitHub را افزایش میدهد.
موارد مصاحبه ای
تفاوت اصلی بین Git و GitHub چیست؟
Git یک ابزار کنترل نسخه محلی است که تغییرات فایلها را مدیریت میکند. در مقابل، GitHub یک سرویس میزبانی مبتنی بر وب است که امکان اشتراکگذاری مخزنهای Git و همکاری تیمی روی آنها را فراهم میسازد.
چرا در GitHub استفاده از Personal Access Token بهجای Password الزامی است؟
به دلایل امنیتی، GitHub دیگر اجازه احراز هویت مستقیم با رمز عبور حساب کاربری را در عملیات خط فرمان (CLI) نمیدهد. Personal Access Token امکان محدودسازی سطح دسترسی و تعیین تاریخ انقضا را فراهم میکند و امنیت پروژه را افزایش میدهد.
تفاوت بین مخازن Public و Private در چیست؟
مخزنهای Public برای همه کاربران اینترنت قابل مشاهده و Clone کردن هستند و معمولاً در پروژههای متنباز استفاده میشوند. در مقابل، مخزنهای Private فقط برای افرادی قابل دسترسی هستند که مالک پروژه آنها را تعیین کرده است.
چه زمانی از دستور git remote add استفاده میکنیم؟
زمانی که پروژهای را بهصورت محلی و با اجرای دستور git init ایجاد کردهاید و میخواهید آن را به یک مخزن خالی در GitHub متصل کنید، از دستور git remote add استفاده میشود. پس از این اتصال، میتوانید کدهای خود را Push کنید.
مزیت اصلی استفاده از Remote چیست؟
علاوه بر فراهم کردن امکان همکاری تیمی، مخزن Remote مانند یک نسخه پشتیبان (Backup) نیز عمل میکند. در صورت خرابی سختافزاری سیستم محلی، کدهای شما در مخزن راه دور باقی میمانند.
مثال کاربردی
سناریوی اتصال پروژه محلی به GitHub و بهروزرسانی آن:
۱. ایجاد اتصال: ابتدا در GitHub یک مخزن جدید میسازیم. سپس با اجرای دستور git remote add origin <URL> در خط فرمان، پروژه محلی را به مخزن GitHub متصل میکنیم.
۲. تغییر نام شاخه: برای هماهنگی با استاندارد GitHub، نام شاخه اصلی را از master به main تغییر میدهیم:
git branch -M main
۳. ارسال اولین نسخه: با اجرای دستور زیر، کدهای پروژه را به سرور ارسال میکنیم:
git push -u origin main
در این مرحله، نام کاربری و Personal Access Token از شما درخواست میشود.
۴. دریافت تغییرات همتیمی: اگر یکی از اعضای تیم تغییری در پروژه ایجاد کرده باشد، با اجرای دستور git pull آن تغییرات را دریافت میکنیم و پروژه محلی خود را بهروز میسازیم.
بیشتر بدانید
Git Tip
نام origin یک نام قراردادی و استاندارد برای مخزن اصلی Remote است؛ اما استفاده از آن اجباری نیست و میتوانید هر نام دلخواهی، مانند نام خودتان، برای ریموت انتخاب کنید.
Git Tip
برای مشاهده فهرست ریموتهای متصل به پروژه و آدرس URL آنها، از دستور زیر استفاده کنید:
git remote -v
سوئیچ -v مخفف Verbose است و اطلاعات کاملتری نمایش میدهد.
Git Tip
برای تغییر نام یک ریموت، میتوانید از دستور زیر استفاده کنید:
git remote rename <old_name> <new_name>
امنیت توکن
هنگام ساخت Personal Access Token در GitHub، توجه داشته باشید که توکن فقط یکبار نمایش داده میشود. آن را در مکانی امن ذخیره کنید؛ زیرا پس از بستن صفحه، دیگر امکان مشاهده مجدد آن وجود ندارد.
