TIPS

[TIPS] GitHub 새로운 기능, gh CLI 사용하기

Gray Park 2020. 9. 21. 11:18
728x90
반응형

오늘 스프린트를 진행하기 위해 repository를 fork 하고, clone을 위해 code 다운로드 버튼을 눌렀다. 그리고 발견한 시선을 사로잡는 new 가 보이는 게 아닌가!!

 

그래서 해봤다 ㅎㅎ

 

이런거는 일단 해보고 궁금증을 풀어둬야 하니까!

 

먼저 이 기능을 사용하기 위해서는 gh 라는 명령어를 사용해야 하는 걸로 보인다. 그런데 git clone과 같이 git을 통해 설치를 해왔던 나는, 당연히 gh를 설치한 기억이 없다. 그러니 가보자! Learn more

 

GITHUB CLI 에 대해 설명하고 있는 페이지로 이동되었다!

 

gh를 설치하면 간단한 키워드 만으로 레포지토리를 클론하거나 심지어 풀리퀘도 CLI에서 날릴 수 있다!

 

CLI의 중요성은 백만번 말해 입만 아프다! 그냥 간단하게 기억하자. GUI 환경을 구성하기 힘든 경우 ( 대표적으로 서버사이드 작업 ) 에 아주아주 유용하다.

 

만약 레포지토리를 새로이 생성하고 그 이름만 기억하고 있다면, 아주 간단하게 레포지토리를 가져오고 구성할 수 있다.

( no more Ctrl+C & Ctrl+V )

 

 

자, 이제 설치를 해보자.

화면에 떡하니 클릭해주십쇼~ 하는 'Install for Linux' 를 클릭하면 이 페이지로 이동한다.

 

나는 우분투니까 우분투 만 가져왔다.

텍스트로 복사하고 싶다면 요기

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-add-repository https://cli.github.com/packages
sudo apt update
sudo apt install gh

잠깐!

설치 전에 각각이 어떤 역할을 하는 지는 살짝 알아두자. 나는 항상 간단하게 이해하려고 하는 편이니까 글도 별로 길지 않다!

 

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0

apt-key 서버에 내 PC를 등록한다 ( 키 리스트에 키 서버를 등록한다. 여기 등록되면 믿을 만한 곳이라고 인식된다. )

 

sudo apt-add-repository https://cli.github.com/packages

apt 의 패키지로 맨 뒤에 있는 패키지를 추가 등록한다.

 

sudo apt update

등록은 했지만, 최신인 지 한 번 업데이트 해준다.

 

sudo apt install gh

gh 를 설치한다.

 


그럼 이제 터미널에서 진행을 해보자!

gh repo clone QuePark/[repository_name]

하자마자 안되는 거 실환가...

gh auto login 을 통해서 github에 로그인을 해달라고 하니까, 간단히 해결해주자!

 

gh auth login

차례대로 GitHub.com, Login with a web browser ( 지금은 PC에 설치하고 있으니까! ) 를 선택한다.

 

그러면 이상한 코드가 나온다!

your code 자리에 나온 코드를 복사하고 ( 터미널의 단축키를 변경하지 않았다면 Ctrl + Shift + C ) Enter 를 누른다.

그럼 웹페이지가 켜지고 코드를 삽입할 수 있는 인풋창이 나온다!

 

코드를 넣고 엔터와 Verify를 해주고, 비밀번호를 한 번 더 입력하면 아래와 같이 HTTPS와 SSH 중 어느걸로 접속할 건지 물어본다.

난 평소에 SSH를 이용하기때문에 SSH를 선택하고 엔터쳐주면 따란~!

로그인이 완료되었다!!!!

 

그리고 다시 clone을 시도하면~

gh repo clone QuePark/[repository_name]

복제가 완료되었다!

 

이렇게 한 번 등록해두면, 앞으로는 다양한 github 기능을 CLI 로 관리할 수 있다.

아직 1.0.0 버전이기때문에 몇 가지의 기능밖에 없지만, 오픈소스인 만큼 금방 여러 명령어가 생길 것으로 기대된다!

시간 여유와 아이디어가 있다면 나도 참여해보는 걸로!!

 

가능한 예제를 보자,

 

이슈보기

$ gh issue list

Showing 4 of 4 issues in cli/cli

#16 Improving interactions with protected branches
#14 PR commands on a detached head
#13 Support for GitHub Enterprise (enhancement)
#8 Add an easier upgrade command (bug)

 

풀리퀘스트 상태 확인

$ gh pr status

Relevant pull requests in cli/cli

Current branch
There is no pull request associated with [fix-homepage-bug]

Created by you
You have no open pull requests

Requesting a code review from you
#100 Fix footer on homepage [fix-homepage-footer]
✓ Checks passing - Review pending

 

레포지토리의 README.md 보기

$ gh repo view
cli/cli
GitHub’s official command line tool

GitHub CLI

gh is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code.

Image: screenshot of gh pr status → https://user-images.githubusercontent.com/98482/84171218-327e7a80-aa40-11ea-8cd1-5177fc2d0e72.png

View this repository on GitHub: https://github.com/cli/cli

 

숏컷 명령어 생성

$ gh alias set bugs 'issue list --label="bugs"'
- Adding alias for bugs: issue list --label="bugs"
✓ Added alias.

$ gh bugs

Showing 2 of 7 issues in cli/cli that match your search

#19 Pagination request returns empty JSON (bug)
#21 Error raised when passing valid parameters (bug)
728x90
반응형