
GitHub CLIã£ãŠäœïŒãã©ãŠã¶ãããã§GitHubãæäœããéæ³ã®ããŒã«
ããªãã¯æ¯æ¥ã®ããã°ã©ãã³ã°äœæ¥ã§ããããªããšãããŠããŸãããïŒ
ã³ãŒããæžã â ãã©ãŠã¶ã§GitHubãéã â ãã«ãªã¯ãšã¹ããäœã â ãŸãäœæ¥ã«æ»ã â ãŸããã©ãŠã¶ãéã...
ããã£ãŠããŸãã§æçãããªããå·èµåº«ãšå°æãäœåºŠãåŸåŸ©ããã¿ããã§ãã¡ãã£ãšé¢åã ãšæããŸãããã
å®ã¯ãGitHub CLIãšãã䟿å©ãªããŒã«ã䜿ãã°ãã¿ãŒããã«ïŒã³ãã³ãã©ã€ã³ïŒã ãã§GitHubã®ã»ãšãã©ã®äœæ¥ãã§ããããã«ãªããã§ãã仿¥ã¯ãããªGitHub CLIã«ã€ããŠããããããã話ããŠãããŸããã
GitHub CLIã£ãŠäœïŒ
GitHub CLIã¯ãGitHub ãæäœããããã«ç¹ã«äœ¿çšãããã³ãã³ãã©ã€ã³ ããŒã«ã§ãããCLIããšããã®ã¯ãCommand Line InterfaceïŒã³ãã³ãã©ã€ã³ ã€ã³ã¿ãŒãã§ãŒã¹ïŒãã®ç¥ã§ãæåã ãã§ã³ã³ãã¥ãŒã¿ãŒãšããåãããæ¹æ³ã®ããšãªãã§ãã
ã€ãŸããGitHub CLIã䜿ããšãä»ãŸã§ãã©ãŠã¶ã§ãããããã£ãŠããGitHubã®æäœããã¿ãŒããã«ã§ãghãã³ãã³ããå ¥åããã ãã§ã§ããããã«ãªããŸãã
äŸãã°ããããªé¢šã«äœ¿ããŸãïŒ
# ãªããžããªãäœã
gh repo create my-project
# ãã«ãªã¯ãšã¹ããäœã
gh pr create
# ã€ã·ã¥ãŒãèŠã
gh issue list
ãªãGitHub CLIã䟿å©ãªã®ïŒ
äœæ¥ã®æµããæ¢ãŸããªã
æ®éãªããã³ãŒããæžããŠããæäžã«GitHubã§äœãããããªã£ããããã©ãŠã¶ãéããŠããŠã¹ã§ã¯ãªãã¯ããŠ...ãšããäœæ¥ãå¿ èŠã§ããããã§ãGitHub CLIãªããã³ãŒããæžããŠããã®ãšåãã¿ãŒããã«ã§ããã®ãŸãŸGitHubã®æäœãã§ãããã§ãã
ããã£ãŠãæçãããªããèª¿å³æããã¹ãŠæã®å±ãå Žæã«çœ®ããŠãããããªæãã§ããšã£ãŠãã¹ã ãŒãºã«äœæ¥ãã§ãããã§ãããã
èªååãã§ãã
ã¹ã¯ãªããã§èªååã§ããã®ãé åã§ããæ¯æ¥åããããªäœæ¥ããããªãããããã¹ã¯ãªããã«ãŸãšããŠäžçºã§å®è¡ã§ããããã«ãªããŸãã
ã€ã³ã¹ããŒã«æ¹æ³
GitHub CLIã®ã€ã³ã¹ããŒã«ã¯ã䜿ã£ãŠããããœã³ã³ã«ãã£ãŠæ¹æ³ãéããŸããã§ããã©ããç°¡åã§ããã
Windowsã®å Žå
https://cli.github.com/ ã«ã¢ã¯ã»ã¹ããDownload for Windows ãã¯ãªãã¯ããã€ã³ã¹ããŒã©ãŒãããŠã³ããŒãããŸããããŠã³ããŒããããã¡ã€ã«ãããã«ã¯ãªãã¯ããŠãç»é¢ã®æç€ºã«åŸã£ãŠé²ããã ãã§ãã
ä»ã«ãããChocolateyãããScoopããå©çšããŠã€ã³ã¹ããŒã«ããããšãã§ããŸãã
Macã®å Žå
Homebrewãã»ããã¢ãããããŠããã°ãã¿ãŒããã«ãéããbrew install gh ã³ãã³ããå®è¡ããããšã§ãç°¡åã«GitHub CLIãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
brew install gh
Linuxã®å Žå
UbuntuãDebianç³»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãsudo apt install gh ã³ãã³ãã§ã€ã³ã¹ããŒã«ã§ããŸããRed Hatç³»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ïŒäŸãã°FedoraïŒã§ã¯ãdnf install gh ã³ãã³ãã䜿çšããŸãã
# Ubuntu/Debianç³»
sudo apt install gh
# Fedoraç³»
dnf install gh
ã€ã³ã¹ããŒã«ã§ãããã©ããã¯ãgh versionã³ãã³ãã§ç¢ºèªã§ããŸãã
gh version
åæèšå®ãããŠã¿ãã
ã€ã³ã¹ããŒã«ãå®äºããããGitHubã®ã¢ã«ãŠã³ããšé£æºããèšå®ãããå¿ èŠããããŸãããããé£ãããªãã®ã§å®å¿ããŠãã ãããã
GitHubã¢ã«ãŠã³ãã§ãã°ã€ã³
gh auth loginã³ãã³ãã䜿çšããŠGitHubã«ãã°ã€ã³ããèªèšŒãå®äºãããŸãã
gh auth login
ãããšãããã€ã質åãããã®ã§çããŠãããŸãïŒ
ã©ã®GitHubã䜿ããŸããïŒ â æ®éã¯ãGitHub.comããéžã³ãŸã
ãããã³ã«ã¯äœã«ããŸããïŒ â åå¿è ã¯ãHTTPSããããããã§ã
èªèšŒæ¹æ³ã¯ïŒ â ãLogin with a web browserãïŒãã©ãŠã¶ã§ãã°ã€ã³ïŒãéžã¶ãšç°¡åã§ã
one-time code ã衚瀺ãããã®ã§ããããã³ããŒããŠEnterãæŒããšãã©ãŠã¶ãéããŸããGitHubã«ãã°ã€ã³ããŠã衚瀺ãããã³ãŒããå ¥åããã°å®äºã§ãã
GitHub CLIã§ã§ããããš
GitHub CLIã§ã¯ãissueãšpull requestããªããžããªã®æäœããªãªãŒã¹ãgistã®æäœãã§ãããã§ããäž»ãªãã®ãèŠãŠã¿ãŸãããã
ãªããžããªé¢ä¿
# æ°ãããªããžããªãäœã
gh repo create ãããžã§ã¯ãå
# ãªããžããªãããŠã³ããŒãïŒã¯ããŒã³ïŒãã
gh repo clone ãŠãŒã¶ãŒå/ãªããžããªå
# ãªããžããªã®æ
å ±ãèŠã
gh repo view
# ãªããžããªããã©ãŠã¶ã§éã
gh repo view --web
ã€ã·ã¥ãŒïŒèª²é¡ïŒé¢ä¿
# ã€ã·ã¥ãŒã®äžèЧãèŠã
gh issue list
# æ°ããã€ã·ã¥ãŒãäœã
gh issue create
# ã€ã·ã¥ãŒã®è©³ããå
容ãèŠã
gh issue view ã€ã·ã¥ãŒçªå·
# ã€ã·ã¥ãŒãéãã
gh issue close ã€ã·ã¥ãŒçªå·
ãã«ãªã¯ãšã¹ãé¢ä¿
# ãã«ãªã¯ãšã¹ãã®äžèЧãèŠã
gh pr list
# æ°ãããã«ãªã¯ãšã¹ããäœã
gh pr create
# ãã«ãªã¯ãšã¹ãã®è©³çްãèŠã
gh pr view ãã«ãªã¯ãšã¹ãçªå·
# ãã«ãªã¯ãšã¹ããããŒãžãã
gh pr merge ãã«ãªã¯ãšã¹ãçªå·
GitHub Actionsé¢ä¿
# ã¯ãŒã¯ãããŒã®äžèЧãèŠã
gh workflow list
# å®è¡å±¥æŽãèŠã
gh run list
# å®è¡çµæã®è©³çްãèŠã
gh run view
å®éã®äœ¿ãæ¹äŸ
ã§ã¯ãå®éã«ã©ããªé¢šã«äœ¿ãã®ããå ·äœäŸãèŠãŠã¿ãŸãããã
äŸ1ïŒæ°ãããããžã§ã¯ããå§ãã
# æ°ãããªããžããªãäœã
gh repo create my-awesome-project --public
# äœã£ããªããžããªãããŠã³ããŒããã
gh repo clone my-awesome-project
# ãã£ã¬ã¯ããªã«ç§»å
cd my-awesome-project
äŸ2ïŒãã°ãå ±åãã
# ãã°ã®ã€ã·ã¥ãŒãäœã
gh issue create --title "ãã°ã€ã³ã§ããªããã°" --body "ãã¹ã¯ãŒããå
¥åããŠããã°ã€ã³ã§ããŸãã"
äŸ3ïŒæ©èœè¿œå ã®ãã«ãªã¯ãšã¹ããäœã
# æ°ããæ©èœãäœã£ãåŸããã«ãªã¯ãšã¹ããäœã
gh pr create --title "ãŠãŒã¶ãŒç»é²æ©èœã远å " --body "æ°èŠãŠãŒã¶ãŒãç»é²ã§ããæ©èœã远å ããŸãã"
圹ã«ç«ã€ã¢ããã€ã¹
ãŸãã¯ãã®3ã€ã®ã³ãã³ãããèŠããã
GitHub CLIåå¿è ã®æ¹ã¯ããŸããã®3ã€ããå§ããŠã¿ãŠãã ããïŒ
gh repo view - ä»ãããªããžããªã®æ å ±ã確èªãã
gh issue list - ããã¹ãäœæ¥ïŒã€ã·ã¥ãŒïŒã確èªãã
gh pr create - äœã£ãæ©èœãã¬ãã¥ãŒããŠããã
ãã®3ã€ãã§ããã°ãåºæ¬çãªéçºã®æµãã¯ã«ããŒã§ããŸããã
ãã«ãæ©èœã掻çšããã
åã³ãã³ããšåè£å©ãµãã³ãã³ãã«å¯ŸããŠã--helpã®ãã©ã°ã远å ããŠããã®äœ¿ç𿹿³ã確èªã§ããŸããå°ã£ããšãã¯ããŸããã«ããèŠãŠã¿ãŸãããïŒ
# å
šäœã®ãã«ã
gh --help
# ã€ã·ã¥ãŒã³ãã³ãã®ãã«ã
gh issue --help
# ã€ã·ã¥ãŒäœæã®ãã«ã
gh issue create --help
ãšã€ãªã¢ã¹ïŒççž®ã³ãã³ãïŒãäœãã
ãã䜿ãã³ãã³ãã¯ãgh alias setã䜿ã£ãŠä»»æã®ã³ãã³ãã®ãšã€ãªã¢ã¹ãäœæã§ããã®ã§ãããã«å¹çåã§ããŸãïŒ
# ãã«ãªã¯ãšã¹ãäžèЧããprsãã§èŠãããããã«ãã
gh alias set prs 'pr list'
# äœ¿ãæ¹
gh prs
ãŸãšã
ä»åã¯ãGitHub CLIã«ã€ããŠè©³ãã説æããŸãããèŠç¹ããŸãšãããšïŒ
⢠GitHub CLIã䜿ãã°ããã©ãŠã¶ãéããã«ã¿ãŒããã«ã ãã§GitHubæäœãã§ãã ⢠WindowsãMacãLinuxãã¹ãŠã§ç°¡åã«ã€ã³ã¹ããŒã«ã§ãã ⢠ãªããžããªäœæãããã«ãªã¯ãšã¹ããŸã§ãéçºã®å šå·¥çšãã³ãã³ãã§å®è¡å¯èœ ⢠ãŸã㯠gh repo viewãgh issue listãgh pr create ã®3ã€ããå§ããã ⢠ãã«ãæ©èœããšã€ãªã¢ã¹æ©èœã§ãããã«äœ¿ããããã«ã¹ã¿ãã€ãºã§ãã
GitHub CLIã䜿ããšãããã°ã©ãã³ã°äœæ¥ããã£ãšã¹ã ãŒãºã«ãªã£ãŠãéäžããŠéçºã«åãçµããããã«ãªããã§ããããæåã¯æ £ããªããããããŸãããã䜿ã£ãŠãããã¡ã«ãã£ãšææŸããªããªããŸããã
ãã®èšäºã圹ã«ç«ã£ããšæã£ããããã²ã¹ãããã©ããŒããé¡ãããŸãïŒ
ææãã¬ãžã³
https://note.com/aoki_monpro/m/m96ae7a4cccfe
AIãšãŒãžã§ã³ãã®ãã¬ãžã³
https://note.com/aoki_monpro/m/m855549967e53
ã³ã³ãã³ãäœæã®ãã¬ãžã³
https://note.com/aoki_monpro/m/m9cd645dfda5d
å人éçºã®ãã¬ãžã³
https://note.com/aoki_monpro/m/mdc9e3565ddf9
èªæžã»è«æã®ãã¬ãžã³
https://note.com/aoki_monpro/m/m4d23749dc040
Udemyè¬åº§ çæAIãããã€ããããŸã(Dify, ç»åçæAI, ChatGPTãªã©)
udemyè¬åž«ç޹ä»ããŒãž
https://www.udemy.com/user/mochaccino/
udemyè¬åº§ã®ã¯ãŒãã³äžèЧ
https://note.com/aoki_monpro/n/nd695fc29792c
æåŸãŸã§èšäºããèªã¿ããã ãããããšãããããŸãâ
ãããªãè¯èšäºãå·çããããã®ã¢ãããŒã·ã§ã³ã¢ããã®ããã
ãããããã°ã¹ã & ãã©ããŒããé¡ãããããŸãð
ãã©ããŒããã¯100%ãããŠããã ããŸãð¯