[GIT] GitHub CLI 설치하기

문연수·2021년 10월 25일
0

GIT

목록 보기
3/4
post-thumbnail

이번 글에선 Raspberry Pi 4 에서 GitHub CLI (이하 gh) 를 설치하고 사용하는 방법에 대해서 기술하려 한다.

1. gh 란 무엇인가

gh 는 커맨드 라인으로 GitHub 를 다루는 프로그램이다. 이를 통해 pull request, issue, 그 밖에 GitHub 명령을 터미널 텍스트를 통해 수행이 가능하다.

필자는 이를 Authentication 용도로 사용한다. 2021 Aug 13 이후 비밀번호를 통한 계정 인증 지원이 제거되었다. 따라서 개인 인증 토큰을 사용해야 접근이 가능한데, git pull 할때마다 토큰을 복사해서 붙여넣는건 정말 스트레스 받는 일이다. 그러나 gh 를 사용하면 따로 인증 토큰을 발행하고 가져올 필요 없이 계정명과 비밀번호만을 통해 바로 로그인이 가능하다.

이럴거면 Public Access Token 은 왜 만든거지?

2. gh 설치

gh 설치 방법은 운영체제나 환경에 따라 천차만별인데 필자는 라즈베리 파이에서 설치하는 방법에 대해 설명하려 한다.

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh

위 명령어를 커맨드 라인에 입력하면 gh 프로그램을 설치할 수 있다.

+ Fedora

sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh

위 명령어는 Fedora 에서 설치하는 방법이다. 이를 왜 넣어놨는지에 대해 의문이 생길 수 있다. 이는 필자가 Fedora 운영체제의 사용자이기 때문이다. 내가 볼라고 넣어놨다.


이 외에 다른 배포판을 사용하는 독자는 아래의 글을 확인하길 바란다:
https://github.com/cli/cli/blob/trunk/docs/install_linux.md

3. gh auth 로그인

gh auth 명령어를 입력해서 계정을 등록할 수 있다. 아래의 순서대로 작업을 진행하면 된다. 필자는 GitHub App 이 설치되어 있으며, Two-Factor AuthEnable 되어 있다는 가정 하에 작업을 진행한다. 여기에 대해선 필자가 작성한 다음 글을 참고하길 바란다.

커서는 화살표 방향키로 변경 가능하고 선택은 Enter 를 누르면 된다.

  1. GitHub.ccom
  2. HTTPS
  3. Yes
  4. Browser

를 선택한다. 그리고 Enter 를 누르면 아래와 같이 브라우저 창이 올라온다.

터미널의 First copy your one-time code: 다음에 나온 문자를 순서대로 입력하면 된다. 위 스크린샷에서 보면 EDCA-46B1 에 해당한다. 입력 후 Continue

Authorize github 버튼 클릭.

끝!

이제 어떠한 인증과 Personal Access Token 없이도 자유롭게 GitHub 를 이용할 수 있다.

4. 브라우저를 열 수 없다면?

ssh 접속이나 CLI 버전의 운영체제에서는 어떻게 해야 할까? 이 경우엔 어쩔 수 없이 Personal Access Token 을 이용해야 한다. 그래도 한번만 등록해두면 키가 만료되기 전까진 다시 재-입력할 필요가 없으므로 계속 복사 붙여넣기 하는 것보단 훨씬 편하다.

  1. GitHub.com
  2. HTTPS
  3. Yes
  4. Paste an authentication token
  5. PAT Copy and Paste

출처

[사이트] https://github.com/cli/cli/blob/trunk/docs/install_linux.md
[사이트] https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

profile
2000.11.30

0개의 댓글