| GH-RELEASE-CREATE(1) | GitHub CLI manual | GH-RELEASE-CREATE(1) |
نام (NAME)
gh-release-create - ایجاد یک انتشار جدید
خلاصه دستور (SYNOPSIS)
gh release create [<tag>] [<filename>... | <pattern>...]
توضیحات (DESCRIPTION)
ایجاد یک انتشار جدید گیتهاب (GitHub Release) برای یک مخزن.
میتوان فهرستی از فایلهای دارایی (asset) را برای بارگذاری در انتشار جدید مشخص کرد. برای تعیین یک برچسب نمایشی برای دارایی، متنی را که با # شروع میشود پس از نام فایل درج کنید.
اگر تگ گیت منطبق از قبل وجود نداشته باشد، یک تگ بهطور خودکار بر اساس آخرین وضعیت شاخه پیشفرض ایجاد میشود. از گزینه --target برای اشاره به شاخه یا کامیت متفاوتی جهت ساخت خودکار تگ استفاده کنید. از گزینه --verify-tag برای انصراف از فرآیند انتشار در صورتی که تگ از قبل وجود نداشته باشد استفاده کنید. برای دریافت تگ جدید بهصورت محلی پس از انتشار، دستور git fetch --tags origin را اجرا کنید.
برای ایجاد انتشار از روی یک تگ توضیحی گیت (annotated git tag)، ابتدا آن را بهصورت محلی با گیت بسازید، تگ را به گیتهاب ارسال (push) کنید، و سپس این دستور را اجرا نمایید. از گزینه --notes-from-tag برای استخراج یادداشتهای انتشار از تگ توضیحی گیت استفاده کنید. اگر تگ توضیحی نباشد، پیام کامیت بهجای آن استفاده خواهد شد.
از گزینه --generate-notes برای تولید خودکار یادداشتها با استفاده از API یادداشتهای انتشار گیتهاب استفاده کنید. هنگام استفاده از یادداشتهای انتشار تولیدشده بهصورت خودکار، عنوان انتشار نیز بهطور خودکار تولید خواهد شد مگر آنکه عنوانی صریحاً مشخص شده باشد. با استفاده از گزینه --notes میتوانید یادداشتهای اضافی را به ابتدای یادداشتهای خودکار اضافه کنید.
بهطور پیشفرض، انتشار حتی در صورت نبود کامیت جدید پس از آخرین انتشار ایجاد میشود. این موضوع ممکن است منجر به انتشار تکراری یا یکسان شود که در برخی موارد مطلوب نیست. از گزینه --fail-on-no-commits برای متوقف کردن عملیات در صورت نبود کامیت جدید استفاده کنید. این گزینه در صورتی که هیچ انتشاری وجود نداشته باشد یا این نخستین انتشار باشد، اثری ندارد.
انتشارهای تغییرناپذیر (Immutable Releases)
هنگامی که قابلیت تغییرناپذیری انتشار برای یک مخزن فعال باشد، محافظتهای زیر اعمال میشوند:
- تگهای گیت مرتبط با انتشار قابل تغییر یا حذف نیستند.
- داراییهای انتشار قابل تغییر یا حذف نیستند.
تغییرناپذیری تنها پس از انتشار عمومی اعمال میشود. انتشارهای پیشنویس (draft) قابل ویرایش یا حذف هستند و تگهای گیت مرتبط با آنها نیز میتوانند ویرایش یا حذف شوند.
هنگام استفاده از دستور create برای پیوست کردن داراییها به انتشار، فراخوانیهای جداگانه API برای ایجاد انتشار بهصورت پیشنویس، بارگذاری داراییها و سپس انتشار عمومی آن انجام میشود. محافظتهای تغییرناپذیری صرفاً پس از عمومی شدن انتشار اعمال خواهند شد.
گزینهها (OPTIONS)
- --discussion-category <string>
- شروع یک بحث در دستهبندی مشخصشده
- -d, --draft
- ذخیره انتشار بهصورت پیشنویس بهجای انتشار عمومی آن
- --fail-on-no-commits
- توقف با خطا در صورت نبود کامیت جدید از زمان آخرین انتشار (روی اولین انتشار بیاثر است)
- --generate-notes
- تولید خودکار عنوان و یادداشتهای انتشار از طریق API یادداشتهای انتشار گیتهاب
- --latest
- علامتگذاری این انتشار بهعنوان "Latest" (آخرین نسخه) (پیشفرض [خودکار بر اساس تاریخ و نسخه]). برای عدم تنظیم صریح بهعنوان آخرین نسخه از latest=false-- استفاده کنید
- -n, --notes <string>
- یادداشتهای انتشار
- -F, --notes-file <file>
- خواندن یادداشتهای انتشار از فایل (از "-" برای خواندن از ورودی استاندارد استفاده کنید)
- --notes-from-tag
- واکشی یادداشتها از توضیحات تگ یا پیام کامیت مرتبط با تگ
- --notes-start-tag <string>
- تگی که باید بهعنوان نقطه شروع تولید یادداشتهای انتشار استفاده شود
- -p, --prerelease
- علامتگذاری انتشار بهعنوان نسخه پیشانتشار
- --target <branch>
- شاخه مقصد یا شناسه SHA کامل کامیت (پیشفرض [شاخه اصلی main])
- -t, --title <string>
- عنوان انتشار
- --verify-tag
- انصراف از عملیات در صورتی که تگ گیت از قبل در مخزن راه دور (remote) وجود نداشته باشد
گزینههای موروثی از دستورات والد (OPTIONS INHERITED FROM PARENT COMMANDS)
- -R, --repo <[HOST/]OWNER/REPO>
- انتخاب مخزنی دیگر با استفاده از قالب [HOST/]OWNER/REPO
نامهای مستعار (ALIASES)
gh release new
کدهای خروج (EXIT CODES)
0: اجرای موفقیتآمیز
1: خطا
2: دستور لغو شد
4: نیاز به احراز هویت است
نکته: دستورات خاص ممکن است کدهای خروج دیگری نیز داشته باشند. برای اطلاعات بیشتر به راهنمای همان دستور مراجعه کنید.
مثالها (EXAMPLES)
# ایجاد یک انتشار بهصورت تعاملی $ gh release create # ایجاد یک انتشار بهصورت تعاملی از یک تگ مشخص $ gh release create v1.2.3 # ایجاد یک انتشار بهصورت غیرتعاملی $ gh release create v1.2.3 --notes "bugfix release" # استفاده از یادداشتهای تولیدشده بهصورت خودکار از طریق API یادداشتهای انتشار گیتهاب $ gh release create v1.2.3 --generate-notes # استفاده از یادداشتهای انتشار از یک فایل $ gh release create v1.2.3 -F release-notes.md # استفاده از توضیحات تگ یا پیام کامیت مرتبط بهعنوان یادداشت انتشار $ gh release create v1.2.3 --notes-from-tag # عدم علامتگذاری انتشار بهعنوان آخرین نسخه $ gh release create v1.2.3 --latest=false # بارگذاری تمام فایلهای فشرده tarball در یک پوشه بهعنوان داراییهای انتشار $ gh release create v1.2.3 ./dist/*.tgz # بارگذاری یک دارایی انتشار به همراه برچسب نمایشی $ gh release create v1.2.3 '/path/to/asset.zip#My display label' # ایجاد یک انتشار و شروع یک بحث $ gh release create v1.2.3 --discussion-category "General" # ایجاد انتشار تنها در صورتی که کامیتهای جدیدی پس از آخرین انتشار موجود باشد $ gh release create v1.2.3 --fail-on-no-commits
همچنین ببینید (SEE ALSO)
| Sep 2026 |