در این راهنمای شروع سریع ، خواهید آموخت GitHub CLI. بدانید که از ابزار GitHub CLI برای چه کاری استفاده شده است ، نحوه راه اندازی آن و نحوه استفاده از آن چیست.

اگر قبلاً با دستورات Git آشنایی دارید ، بدیهی است که آگاه هستید که برای انجام اقدامات مختلف در مخزن GitHub خود باید به مرورگر وب بروید. با استفاده از ابزار جدید GitHub CLI می توانید بسیاری از این اقدامات را بدون خروج از رابط خط فرمان اجرا کنید.

راه اندازی GitHub CLI

برای شروع ، به سادگی از صفحه نصب و دستورالعمل نحوه نصب GitHub CLI را برای سیستم عامل خود پیدا کنید. برای ویندوز و macOS می توانید از مدیران بسته برای نصب و به روز نگه داشتن GitHub CLI استفاده کنید. برای کاربران لینوکس ، شما باید بسته را از آخرین نسخه صفحه نصب کنندگان Signed MSI برای کاربران ویندوز نیز وجود دارد ، اما توجه داشته باشید که در صورت انتخاب این ابزار ، باید ابزار را مجدداً بارگیری و به روز کنید. ساده ترین راه برای کاربران ویندوز استفاده از اسکوپ مدیر بسته

در زیر عکسهای فوری از دستورالعمل نصب برای هر سیستم عامل پشتیبانی شده آورده شده است:

  • پنجره ها:

    scoop bucket add github-gh https://github.com/cli/scoop-gh.git
    scoop install gh
    
  • سیستم عامل مکینتاش:

    brew install github
    
  • لینوکس دبیان / اوبونتو:

    sudo apt install git && sudo dpkg -i gh_*_linux_amd64.deb
    
  • لینوکس Fedora / Centos:

    sudo yum localinstall gh_*_linux_amd64.rpm
    
  • Arch Linux:

    yay -S github-cli
    

من در ویندوز استفاده از گیت باش پایانه. این رابط به شما امکان می دهد به دستورات رایج Linux و ویژگی های Bash مانند تکمیل خودکار دسترسی پیدا کنید. همچنین از طریق ادغام ترمینال بصورت رسمی توسط Visual Studio Code پشتیبانی می شود.

پس از نصب GitHub CLI ، باید اعتبار خود را تأیید کنید. اجرای هر دستوری این روند احراز هویت را ایجاد می کند. مثلاً امتحان کنید gh repo view cli/cli. برای کاربران اولین بار ، موارد زیر از شما خواسته می شود:

احراز هویت GitHub

به سادگی دکمه را فشار دهید وارد کلید شروع روند به شرح زیر است:

مجوز Gitub

پس از ارائه گذرواژه خود ، پیام “GitHub CLI با موفقیت احراز هویت شد” دریافت خواهید کرد. اکنون می توانید از طریق پایانه خط فرمان با پلت فرم GitHub تعامل داشته باشید. مرحله بعدی اجرای تکمیل خودکار است که اختیاری است. به سادگی این خط را به خط خود اضافه کنید ~/.bash_profile:

eval "$(gh completion -s bash)"

همچنین می توانید دستور بالا را در ترمینال فعلی خود اجرا کنید تا بدون تکمیل مجدد ترمینال ، ویژگی تکمیل خودکار را دریافت کنید. برای تأیید کار کردن ، تایپ کنید gh repo، سپس فشار دهید زبانه دو برابر. این باید چهار دستور مختلف را به شما نشان دهد که می توانید به جریان اضافه کنید repo فرمان دادن

ساختار فرمان GitHub CLI

gh ساختار فرمان درخت مانند است و به راحتی به خاطر سپرده می شود. در واقع دو سطح از دستورات وجود دارد. سطح اول فقط شامل شش دستور است:

  • config
  • repo
  • issue
  • pr
  • gist
  • credits

هر دستور دارای سطح فرمان دوم است که در آن می توانید عملیاتی را که می خواهید انجام دهید مشخص کنید – مانند gh repo view یا gh pr list. credits گرچه دستور هیچ دستور سطح دوم ندارد. هنگام اجرا ، به سادگی نام همکاران مخزن را لیست می کند. در اینجا یک مثال سریع وجود دارد که می توانید خودتان امتحان کنید:

$ gh credits cli/cli

بقیه دستورات را با جزئیات بیشتر در بخشهای بعدی بررسی خواهیم کرد.

دستورات مخزن GitHub

شبیه سازی یک repo با gh دستور آسان تر از استفاده از git فرمان دادن برای شبیه سازی ، تنها کاری که باید انجام دهید اینست که دستور را در قالب زیر اجرا کنید:

gh repo clone OWNER/REPO

این قالب باعث ساده سازی کلون شدن از حافظه می شود. برای شبیه سازی دیگر نیازی به تایپ یا کپی پیست آدرس Git طولانی ندارید. در زیر مثالی آورده شده است:

$ gh repo clone tailwindcss/tailwindcss

همچنین می توانید مخازن موجود را به راحتی از طریق خط فرمان به حساب خود فورک کنید. تلاش كردن:

$ gh repo fork cli/cli

در طول فرآیند انشعاب ، این ابزار از شما سال می کند که آیا می خواهید کلون نیز شوید. اگر بگویید “بله” ، این شبیه سازی انجام می شود ، شاخه بالادست از راه دور را تنظیم می کند و به طور خودکار یک به روزرسانی را برای شما انجام می دهد. خیلی راحت است با بررسی پیکربندی مخزن از طریق خط فرمان می توانید این مورد را تأیید کنید: git config -e. در زیر نحوه خروجی من به شرح زیر است:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = https://github.com/brandiqa/cli.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "trunk"]
    remote = origin
    merge = refs/heads/trunk
[remote "upstream"]
    url = https://github.com/cli/cli.git
    fetch = +refs/heads/*:refs/remotes/upstream/*

برای این پروژه ، trunk شاخه پیش فرض است. شما باید از git فرمان به repo چنگال خود را همگام سازی کنید مثل همیشه. در مورد cli مخزن:


$ git checkout trunk


$ git fetch upstream


$ git merge upstream/trunk


$ git push

همچنین می توانید توضیحات و README پروژه ای را که در GitHub میزبانی شده است با استفاده از مشاهده کنید gh repo view فرمان دادن این دستور را امتحان کنید:

$ gh repo view facebook/react

تا کنون ، شما یاد گرفته اید که چگونه می توانید clone، fork و view با استفاده از gh repo دستورات بیایید یک مخزن جدید GitHub از خط فرمان ایجاد کنیم. اول ، ما باید یک پروژه جدید ایجاد کنیم. بیایید به سرعت یک پروژه Next.js تولید کنیم. وقتی از شما سال شد ، از الگوی “برنامه شروع کننده پیش فرض” استفاده کنید:

$ npx create-next-app example-next
...

$ cd example-next

در خواهید یافت که repo محلی Git برای پروژه قبلاً آغاز شده است. برای ایجاد یک repo از خط فرمان ، فقط موارد زیر را اجرا کنید:

$ gh repo create --public
✓ Created repository brandiqa/example-next on GitHub
✓ Added remote https://github.com/brandiqa/example-next.git


$ git push -u origin master

اگر شما مشخص نکنید --public گزینه ، مخزن خصوصی به طور پیش فرض ایجاد می شود. در اینجا لیستی کامل از پرچم هایی که می توانید تعیین کنید وجود دارد:

 -d, --description string    Description of repository
      --enable-issues        Enable issues in the new repository (default true)
      --enable-wiki          Enable wiki in the new repository (default true)
  -h, --homepage string      Repository home page URL
      --public               Make the new repository public (default: private)
  -t, --team string          The name of the organization team to be granted access

اگر می خواهید در سازمان دیگری repo ایجاد کنید ، برای ایجاد نحو repo باید از موارد زیر استفاده کنید: gh repo create org/repo.

دستورات درخواست را بکشید

ایجاد درخواست جلب (PR) برای بررسی تیم شما اکنون می تواند در ترمینال انجام شود. درست بعد از انجام یک ویژگی یا شاخه اشکال ، می توانید اجرا کنید gh pr create. این امر درخواست تعاملی را ایجاد می کند:

ایجاد درخواست کشیدن

در اینجا خروجی کامل وجود دارد:

$ gh pr create
Creating pull request for feature-1 into master in brandiqa/example-next
? Title Updated Home Page Title
? Body <Received>
? What is  next? Submit
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 398 bytes | 398.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote:
remote: Create a pull request for 'feature-1' on GitHub by visiting:
remote:      https://github.com/brandiqa/example-next/pull/new/feature-1
remote:
To https://github.com/brandiqa/example-next.git
* [new branch]      HEAD -> feature-1
Branch 'feature-1' set up to track
remote branch 'feature-1' from 'origin'.
https://github.com/brandiqa/example-next/pull/1

همچنین می توانید دستور create را با پرچم هایی از این دست اجرا کنید:

gh pr create --title "Pull request title" --body "Pull request body"

برای تأیید درخواست pull در بستر GitHub ایجاد شده است ، می توانید دستور را اجرا کنید gh pr list برای لیست کردن تمام درخواست های کشیدن در زیر خروجی وجود دارد:

$ gh pr list
Showing 1 of 1 pull request in brandiqa/example-next

برای یک پروژه فعال تر مانند TailwindCSS، لیست طولانی تری از روابط عمومی فعال دریافت خواهید کرد:

لیست روابط عمومی

ستون ها همانطور که در بالا نشان داده شده است:

  • شماره روابط عمومی
  • توضیحات روابط عمومی
  • شعبه روابط عمومی

می توانید از دستور استفاده کنید gh pr checkout <number> برای پرداخت یک درخواست کشیدن این دستور شاخه ویژگی از راه دور را کشیده و به آن سوئیچ می کند. در آنجا ، می توانید یک gh pr diff برای مشاهده آنچه تغییر کرده است:

تفاوت پرداخت

بیایید نگاهی به gh pr merge فرمان دادن همانطور که احتمالاً از آن مطلع هستید ، GitHub نقاط ضعف کد شما را بررسی می کند و از طریق درخواست bump pull راه حل ارائه می دهد. مثالی در اینجا آورده شده است:

دست اندازهای امنیتی GitHub

ادغام یک به یک این روابط عمومی ممکن است برای شما طاقت فرسا باشد ، خصوصاً در اتصال به اینترنت کند. با این حال ، می توانید با استفاده از ترمینال از طریق gh pr merge فرمان دادن در زیر تصویری از دستور در عمل آمده است:

ادغام شود

پس از انجام ادغام ، بهتر است بلافاصله پس از آن انجام دهید. اگر می خواهید همه این کارها را در یک مرحله و بدون اجرای فرمان به صورت تعاملی انجام دهید ، می توانید از پرچم ها استفاده کنید:

gh pr merge -m -d &lt;number&gt; &amp;&amp; git pull

موارد بسیار مفید دیگری نیز وجود دارد gh pr دستوراتی که در اینجا پوشش نخواهیم داد ، اما سریع آنها را ذکر می کنم:

دستورات را صادر کنید

مسائل نحوه پیگیری اشکالات ، وظایف و درخواستهای ویژگی در مخزن پروژه GitHub است. ما می توانیم از دستور استفاده کنیم gh issue create برای ایجاد شماره جدید از طریق ترمینال:

ایجاد یک مسئله

همچنین وجود دارد gh issue list دستوری که همه مسائل را لیست می کند. در زیر یک تصویر از دستور مورد استفاده در زیر آمده است:

لیست مسائل GitHub

بقیه ی gh issue دستورات کاملاً شبیه به gh pr دستورات در زیر یک خلاصه سریع آورده شده است:

دستورات Gist

ایجاد یک خلاصه در GitHub اکنون می توانید از طریق ترمینال کنسول با استفاده از دستور به راحتی انجام دهید gh gist create <file>. در اینجا مثالی از دستور با --public گزینه پرچم:

ایجاد یک مطلب

در صورت عدم تعیین پیش فرض ، یک مطلب خصوصی ایجاد می شود --public پرچم. در اینجا یک ارتباط دادن تا جایی که من ایجاد کردم این شامل لیستی از نام های مستعار رایج Linux است که بطور مرتب از آنها استفاده می کنم.

دستورات اصلی دیگری وجود ندارد ، اما یک پرچم دیگر وجود دارد که من ذکر نکرده ام:

  • -d، --desc رشته: توصیف این مطلب.

خلاصه GitHub CLI

امیدوارم نحوه استفاده از جدید را یاد گرفته باشید gh ابزار خط فرمان. من به شما توصیه می کنم این ابزار را در گردش کار خود ادغام کنید و آن را به یک عادت تبدیل کنید ، زیرا به وضوح در مدیریت مخزن شما صرفه جویی می کند. لطفاً توجه داشته باشید که این ابزار هنوز در دست توسعه است و ممکن است دستورات جدیدی پس از انتشار این مقاله ظاهر شود. می توانید به کتابچه راهنمای برای ویژگی های جدید و اطلاعات در مورد استفاده از ابزارهای موجود.

فرمانی که من پوشش نداده ام این است gh config. دلیل آن این است که در هنگام نوشتن ، اسناد زیادی در مورد استفاده از آن وجود ندارد. به راهنما و کتابچه راهنما توجه کنید رهایی صفحه برای آخرین به روز رسانی.