.TH "hub" "1" "12 Jul 2024" "hub version 2.14.2" "hub manual" .nh .ad l .SH "نام (NAME)" hub \- آسان‌تر کردن کار با git به‌همراه GitHub .SH "خلاصه دستور (SYNOPSIS)" .P \fB\fChub\fR [\-\-noop] \fICOMMAND\fP [\fIOPTIONS\fP] .br \fB\fChub alias\fR [\-s] [\fISHELL\fP] .br \fB\fChub help\fR hub\-\fICOMMAND\fP .SH "توضیحات (DESCRIPTION)" .P ابزار Hub پوششی پیرامون git است تا قابلیت‌های آن را با ویژگی‌های اضافی برای کارکرد بهتر هنگام تعامل با GitHub گسترش دهد. .SH "دستورها (COMMANDS)" .P دستورهای موجود به دو گروه تقسیم می‌شوند: آن‌هایی که از پیش در git وجود دارند اما توسط hub گسترش یافته‌اند، و دستورهای اختصاصی جدیدی که hub ارائه می‌دهد. .SS "دستورهای گسترش‌یافته git" .PP hub\-am(1) .RS 4 اعمال و بازآفرینی محلی کامیت‌ها از یک pull request در GitHub. .RE .PP hub\-apply(1) .RS 4 دریافت یک وصله (patch) از GitHub و اعمال محلی آن. .RE .PP hub\-checkout(1) .RS 4 وارسی (checkout) کردن شاخه سرآغاز (head) یک pull request به عنوان یک شاخه محلی. .RE .PP hub\-cherry\-pick(1) .RS 4 دست‌چین کردن (cherry-pick) یک کامیت از یک فورک در GitHub. .RE .PP hub\-clone(1) .RS 4 کلون کردن یک مخزن از GitHub. .RE .PP hub\-fetch(1) .RS 4 افزودن ریموت‌های ناموجود پیش از اجرای git fetch. .RE .PP hub\-init(1) .RS 4 راه‌اندازی اولیه یک مخزن git و افزودن یک ریموت اشاره‌کننده به GitHub. .RE .PP hub\-merge(1) .RS 4 ادغام یک pull request به‌صورت محلی با پیامی شبیه دکمه Merge در GitHub. .RE .PP hub\-push(1) .RS 4 ارسال (push) یک شاخه git به هر یک از ریموت‌های فهرست‌شده. .RE .PP hub\-remote(1) .RS 4 افزودن یک ریموت git برای یک مخزن GitHub. .RE .PP hub\-submodule(1) .RS 4 افزودن یک زیرماژول (submodule) گیت برای یک مخزن GitHub. .RE .br .SS "دستورهای جدید ارائه‌شده توسط hub" .PP hub\-alias(1) .RS 4 نمایش دستورالعمل‌های شل جهت پوشش‌دهی و جایگزینی git. .RE .PP hub\-api(1) .RS 4 رابط سطح پایین برای ارسال درخواست به API گیت‌هاب. .RE .PP hub\-browse(1) .RS 4 باز کردن یک مخزن GitHub در مرورگر وب. .RE .PP hub\-ci\-status(1) .RS 4 نمایش وضعیت بررسی‌های (checks) گیت‌هاب برای یک کامیت. .RE .PP hub\-compare(1) .RS 4 باز کردن صفحه مقایسه GitHub در مرورگر وب. .RE .PP hub\-create(1) .RS 4 ایجاد یک مخزن جدید در GitHub و افزودن یک ریموت git برای آن. .RE .PP hub\-delete(1) .RS 4 حذف یک مخزن در GitHub. .RE .PP hub\-fork(1) .RS 4 فورک کردن مخزن جاری در GitHub و افزودن یک ریموت git برای آن. .RE .PP hub\-gist(1) .RS 4 ایجاد و نمایش گیت‌هاب Gistها. .RE .PP hub\-pull\-request(1) .RS 4 ایجاد یک Pull Request در GitHub. .RE .PP hub\-pr(1) .RS 4 مدیریت Pull Requestهای GitHub برای مخزن جاری. .RE .PP hub\-issue(1) .RS 4 مدیریت گزارش مشکلات (Issues) در GitHub برای مخزن جاری. .RE .PP hub\-release(1) .RS 4 مدیریت انتشارها (Releases) در GitHub برای مخزن جاری. .RE .PP hub\-sync(1) .RS 4 دریافت (fetch) اشیاء git از بالادست (upstream) و به‌روزرسانی شاخه‌های محلی. .RE .br .SH "قواعد و اصول (CONVENTIONS)" .P بیشتر دستورهای hub به گونه‌ای طراحی شده‌اند که در بستر یک مخزن محلی git موجود اجرا شوند. ابزار Hub با پویش ریموت‌های git، مخزن GitHub مربوط به دایرکتوری کاری فعلی را به طور خودکار شناسایی می‌کند. .P در صورتی که چندین ریموت git وجود داشته باشد که همگی به GitHub اشاره می‌کنند، hub بر اساس اولویت فرض می‌کند که ریموت اصلی به‌ترتیب "upstream" ،"github" یا "origin" نام دارد. .P هنگام کار با فورک‌ها، توصیه می‌شود که ریموت مربوط به فورک خودتان "origin" و ریموت مربوط به مخزن بالادست "upstream" نام‌گذاری شود. ببینید: \[la]https://help.github.com/articles/configuring\-a\-remote\-for\-a\-fork\[ra] .P شاخه پیش‌فرض (معمولاً "master") برای مخزن جاری به این صورت شناسایی می‌شود: .PP .RS 4 .nf git symbolic\-ref refs/remotes/origin/HEAD .fi .RE .P که در آن \fIorigin\fP نام ریموت git برای مخزن بالادست است. .P مقصدی که قرار است شاخه جاری به آن ارسال (push) شود، به تنظیم \fB\fCgit config push.default\fR بستگی دارد. اگر مقدار آن "upstream" یا "tracking" باشد، اطلاعات ردیابی شاخه به صورت زیر خوانده می‌شود: .PP .RS 4 .nf git rev\-parse \-\-symbolic\-full\-name BRANCH@{upstream} .fi .RE .P در غیر این صورت، hub ریموت‌های git را پویش می‌کند تا نخستین موردی را که \fB\fCrefs/remotes/REMOTE/BRANCH\fR در آن وجود دارد پیدا کند. ریموت‌های "origin" ،"github" و "upstream" در آخر جستجو می‌شوند زیرا hub فرض می‌کند به احتمال زیاد شاخه جاری به فورک شما ارسال می‌شود تا به مخزن اصلی و مرجع. .SH "پیکربندی (CONFIGURATION)" .SS "احراز هویت GitHub OAuth" .P ابزار Hub در اولین باری که نیاز به دسترسی به API داشته باشد، نام کاربری و گذرواژه GitHub را درخواست می‌کند و آن را با یک توکن OAuth مبادله کرده و در \fB\fC\(ti/.config/hub\fR ذخیره می‌کند. .P برای جلوگیری از نمایش این درخواست، از متغیرهای محیطی \fB\fCGITHUB\_USER\fR و \fB\fCGITHUB\_PASSWORD\fR استفاده کنید. .P همچنین می‌توانید \fB\fCGITHUB\_TOKEN\fR را مشخص کنید؛ یک توکن دسترسی با مجوزهای \fBrepo\fP. این مقدار در \fB\fC\(ti/.config/hub\fR نوشته نخواهد شد. .SS "استفاده از پروتکل HTTPS به جای git" .P اگر پروتکل HTTPS را برای عملیات git ترجیح می‌دهید، می‌توانید hub را به‌گونه‌ای پیکربندی کنید که تمام نشانی‌های وب را به جای \fB\fCgit:\fR یا \fB\fCssh:\fR با \fB\fChttps:\fR بسازد: .PP .RS 4 .nf $ git config \-\-global hub.protocol https .fi .RE .P این تنظیم بر دستورهای \fB\fCclone\fR ،\fB\fCfork\fR ،\fB\fCremote add\fR و دیگر دستورهای hub که ارجاعات کوتاه به نشانی‌های مخزن GitHub را باز می‌کنند تأثیر می‌گذارد. .SS "گیت‌هاب شرکتی (GitHub Enterprise)" .P به‌طور پیش‌فرض، hub تنها با مخازنی کار می‌کند که ریموت‌های آن‌ها به \fB\fCgithub.com\fR اشاره دارند. میزبان‌های GitHub Enterprise باید در لیست سفید قرار گیرند تا hub با چنین ریموت‌هایی همانند github.com رفتار کند: .PP .RS 4 .nf $ git config \-\-global \-\-add hub.host MY.GIT.ORG .fi .RE .P میزبان پیش‌فرض برای دستورهایی مانند \fB\fCinit\fR و \fB\fCclone\fR همچنان \fB\fCgithub.com\fR است، اما این مقدار را می‌توان با متغیر محیطی \fB\fCGITHUB\_HOST\fR تغییر داد: .PP .RS 4 .nf $ GITHUB\_HOST=my.git.org git clone myproject .fi .RE .SS "متغیرهای محیطی" .PP \fB\fCHUB\_VERBOSE\fR .RS 4 اگر این متغیر محیطی تنظیم شود، گزارش‌های با جزئیات کامل در خروجی خطای استاندارد (stderr) چاپ خواهند شد. .RE .PP \fB\fCHUB\_CONFIG\fR .RS 4 مسیر فایلی که پیکربندی hub از آن خوانده و در آن ذخیره می‌شود. اگر \fB\fCXDG\_CONFIG\_HOME\fR تعریف شده باشد، مقدار پیش‌فرض \fB\fC$XDG\_CONFIG\_HOME/hub\fR است؛ در غیر این صورت \fB\fC$HOME/.config/hub\fR خواهد بود. همچنین بر اساس مشخصات راهنمای پایه‌ای XDG، فایل پیکربندی در \fB\fCXDG\_CONFIG\_DIRS\fR نیز جستجو می‌شود. .RE .PP \fB\fCHUB\_PROTOCOL\fR .RS 4 یکی از مقادیر "https"، "ssh" یا "git" به عنوان پروتکل ترجیحی برای عملیات‌های clone/push در git. .RE .PP \fB\fCGITHUB\_HOST\fR .RS 4 نام میزبان GitHub که باید به جای "github.com" به عنوان پیش‌فرض استفاده شود. .RE .PP \fB\fCGITHUB\_TOKEN\fR .RS 4 توکن OAuth مورد استفاده برای درخواست‌های API گیت‌هاب. .RE .PP \fB\fCGITHUB\_USER\fR .RS 4 نام کاربری GitHub عامل انجام عملیات‌های API گیت‌هاب. .RE .PP \fB\fCGITHUB\_PASSWORD\fR .RS 4 گذرواژه GitHub که برای مبادله مشخصات کاربر با یک توکن OAuth و ذخیره در پیکربندی hub استفاده می‌شود. اگر تنظیم نشده باشد، ممکن است در اولین اجرا به صورت تعاملی درخواست شود. .RE .PP \fB\fCGITHUB\_REPOSITORY\fR .RS 4 مقداری با قالب "OWNER/REPO" که مخزن هدف برای انجام عملیات‌های API را مشخص می‌کند. در حال حاضر فقط برای حدس زدن مقدار پیش‌فرض \fB\fCGITHUB\_USER\fR در درخواست‌های API به کار می‌رود. .RE .br .SH "گزارش باگ‌ها (BUGS)" .P \[la]https://github.com/github/hub/issues\[ra] .SH "نویسندگان (AUTHORS)" .P \[la]https://github.com/github/hub/contributors\[ra] .SH "همچنین ببینید (SEE ALSO)" .P git(1), git\-clone(1), git\-remote(1), git\-init(1), \[la]https://github.com/github/hub\[ra]