| hub(1) | hub manual | hub(1) |
نام (NAME)
hub - آسانتر کردن کار با git بههمراه GitHub
خلاصه دستور (SYNOPSIS)
hub [--noop] COMMAND [OPTIONS]
hub alias [-s] [SHELL]
hub help hub-COMMAND
توضیحات (DESCRIPTION)
ابزار Hub پوششی پیرامون git است تا قابلیتهای آن را با ویژگیهای اضافی برای کارکرد بهتر هنگام تعامل با GitHub گسترش دهد.
دستورها (COMMANDS)
دستورهای موجود به دو گروه تقسیم میشوند: آنهایی که از پیش در git وجود دارند اما توسط hub گسترش یافتهاند، و دستورهای اختصاصی جدیدی که hub ارائه میدهد.
دستورهای گسترشیافته git
hub-am(1)
hub-apply(1)
hub-checkout(1)
hub-cherry-pick(1)
hub-clone(1)
hub-fetch(1)
hub-init(1)
hub-merge(1)
hub-push(1)
hub-remote(1)
hub-submodule(1)
دستورهای جدید ارائهشده توسط hub
hub-alias(1)
hub-api(1)
hub-browse(1)
hub-ci-status(1)
hub-compare(1)
hub-create(1)
hub-delete(1)
hub-fork(1)
hub-gist(1)
hub-pull-request(1)
hub-pr(1)
hub-issue(1)
hub-release(1)
hub-sync(1)
قواعد و اصول (CONVENTIONS)
بیشتر دستورهای hub به گونهای طراحی شدهاند که در بستر یک مخزن محلی git موجود اجرا شوند. ابزار Hub با پویش ریموتهای git، مخزن GitHub مربوط به دایرکتوری کاری فعلی را به طور خودکار شناسایی میکند.
در صورتی که چندین ریموت git وجود داشته باشد که همگی به GitHub اشاره میکنند، hub بر اساس اولویت فرض میکند که ریموت اصلی بهترتیب "upstream" ،"github" یا "origin" نام دارد.
هنگام کار با فورکها، توصیه میشود که ریموت مربوط به فورک خودتان "origin" و ریموت مربوط به مخزن بالادست "upstream" نامگذاری شود. ببینید: ⟨https://help.github.com/articles/configuring-a-remote-for-a-fork⟩
شاخه پیشفرض (معمولاً "master") برای مخزن جاری به این صورت شناسایی میشود:
git symbolic-ref refs/remotes/origin/HEAD
که در آن origin نام ریموت git برای مخزن بالادست است.
مقصدی که قرار است شاخه جاری به آن ارسال (push) شود، به تنظیم git config push.default بستگی دارد. اگر مقدار آن "upstream" یا "tracking" باشد، اطلاعات ردیابی شاخه به صورت زیر خوانده میشود:
git rev-parse --symbolic-full-name BRANCH@{upstream}
در غیر این صورت، hub ریموتهای git را پویش میکند تا نخستین موردی را که refs/remotes/REMOTE/BRANCH در آن وجود دارد پیدا کند. ریموتهای "origin" ،"github" و "upstream" در آخر جستجو میشوند زیرا hub فرض میکند به احتمال زیاد شاخه جاری به فورک شما ارسال میشود تا به مخزن اصلی و مرجع.
پیکربندی (CONFIGURATION)
احراز هویت GitHub OAuth
ابزار Hub در اولین باری که نیاز به دسترسی به API داشته باشد، نام کاربری و گذرواژه GitHub را درخواست میکند و آن را با یک توکن OAuth مبادله کرده و در ~/.config/hub ذخیره میکند.
برای جلوگیری از نمایش این درخواست، از متغیرهای محیطی GITHUB_USER و GITHUB_PASSWORD استفاده کنید.
همچنین میتوانید GITHUB_TOKEN را مشخص کنید؛ یک توکن دسترسی با مجوزهای repo. این مقدار در ~/.config/hub نوشته نخواهد شد.
استفاده از پروتکل HTTPS به جای git
اگر پروتکل HTTPS را برای عملیات git ترجیح میدهید، میتوانید hub را بهگونهای پیکربندی کنید که تمام نشانیهای وب را به جای git: یا ssh: با https: بسازد:
$ git config --global hub.protocol https
این تنظیم بر دستورهای clone ،fork ،remote add و دیگر دستورهای hub که ارجاعات کوتاه به نشانیهای مخزن GitHub را باز میکنند تأثیر میگذارد.
گیتهاب شرکتی (GitHub Enterprise)
بهطور پیشفرض، hub تنها با مخازنی کار میکند که ریموتهای آنها به github.com اشاره دارند. میزبانهای GitHub Enterprise باید در لیست سفید قرار گیرند تا hub با چنین ریموتهایی همانند github.com رفتار کند:
$ git config --global --add hub.host MY.GIT.ORG
میزبان پیشفرض برای دستورهایی مانند init و clone همچنان github.com است، اما این مقدار را میتوان با متغیر محیطی GITHUB_HOST تغییر داد:
$ GITHUB_HOST=my.git.org git clone myproject
متغیرهای محیطی
HUB_VERBOSE
HUB_CONFIG
HUB_PROTOCOL
GITHUB_HOST
GITHUB_TOKEN
GITHUB_USER
GITHUB_PASSWORD
GITHUB_REPOSITORY
گزارش باگها (BUGS)
نویسندگان (AUTHORS)
همچنین ببینید (SEE ALSO)
git(1), git-clone(1), git-remote(1), git-init(1), ⟨https://github.com/github/hub⟩
| 12 Jul 2024 | hub version 2.14.2 |