اتصال مخزن محلی به گیت‌هاب — git remote

اتصال مخزن محلی به مخزن گیت‌هاب با git remote add، مفهوم origin و مدیریت ریموت‌ها.

Remote چیست؟

Remote (ریموت یا راهور) نسخه‌ای از مخزن شماست که روی یک سرور (مثل گیت‌هاب) قرار دارد. مخزن محلی شما می‌تواند به چند ریموت متصل باشد و با آن‌ها همگام شود.

سناریو: پروژه محلی داریم

فرض کنید پروژه‌ای دارید که با git init شروع شده و چند کامیت هم دارد. حالا می‌خواهید آن را به گیت‌هاب ببرید:

  1. در گیت‌هاب مخزن جدیدی بسازید (مبحث ۱۸) — بدون README تا تعارض نشود
  2. آدرس SSH آن را بردارید: git@github.com:username/my-project.git
  3. در ترمینال، وارد پوشه پروژه محلی شوید

افزودن ریموت

git remote add origin git@github.com:username/my-project.git

تفکیک دستور:

بخشمعنی
git remote addافزودن یک ریموت جدید
originنام ریموت (قراردادی — می‌توانید هر نامی بگذارید)
git@github.com:...آدرس مخزن ریموت

origin چیست؟

origin فقط یک نام قراردادی برای ریموت اصلی است — مثل اینکه به مخزن گیت‌هاب‌تان «origin» (مبدأ) لقب می‌دهید. بعداً وقتی می‌گویید git push origin main یعنی: «main را به ریموتی که origin نامیده‌ام بفرست».

مدیریت ریموت‌ها

# لیست ریموت‌ها:
git remote
# origin

# لیست با آدرس‌ها:
git remote -v
# origin  git@github.com:username/my-project.git (fetch)
# origin  git@github.com:username/my-project.git (push)

# دیدن جزئیات یک ریموت:
git remote show origin

# تغییر نام ریموت:
git remote rename origin github

# حذف ریموت:
git remote remove origin

تغییر آدرس ریموت

اگر آدرس عوض شد (مثلاً از HTTPS به SSH می‌روید):

git remote set-url origin git@github.com:username/my-project.git

اولین push

بعد از افزودن ریموت، مخزن محلی را برای اولین بار بفرستید:

git push -u origin main
اگر نام شاخه‌تان master است و می‌خواهید main شود: git branch -M main سپس push کنید.

چند ریموت داشتن (پیشرفته)

گاهی پروژه‌ای روی دو سرویس هست (مثلاً گیت‌هاب و گیت‌لب):

git remote add github git@github.com:user/repo.git
git remote add gitlab git@gitlab.com:user/repo.git

# حالا می‌توانید به هرکدام push کنید:
git push github main
git push gitlab main

خلاصه

این مبحث بخشی از دوره آموزش کامل Git است.

ابزارهای مرتبط