Git | GitLab

[GitHub] CLI로 토큰 지정하여 push하기

비번변경 2024. 3. 28. 19:58

개요

Git Bash나 Linux 서버 등에서 CLI를 이용해 작업한 commit을 원격 저장소로 push 할 때 터미널 입력으로 사용자 인증 과정을 거치는 경우가 있다. 사람이 직접 push를 수행하는 경우에는 상관없지만, 스크립트 등으로 자동화를 하는 경우에는 사용자 인증 정보를 포함하여 push 명령을 수행해야 한다.

 

따라서 이 글에서는 사용자 인증 정보에 해당하는 GitHub Access Token을 Git push 명령어에 포함시키는 방법을 적어둔다.

 

 

GitHub Access Token 생성

사용자 인증에 사용할 Token을 발급받는다.

 

1. GitHub Settings 페이지로 이동

GitHub에 로그인한 뒤 오른쪽 상단의 개인 메뉴에서 Settings를 클릭한다.

 

2. Developer settings로 이동

왼쪽 메뉴 맨 밑에 위치한 Developer settings를 클릭한다.

 

3. 왼쪽 메뉴 > Personal access tokens > Tokens (classic)으로 이동

 

4. Generate new token 클릭

이 글을 작성한 시점(2024-02-29) 기준으로 Beta 버전의 Generate new token 버튼이 존재하는데, 베타 기능이므로 기존 버전인 classic으로 선택했다.

 

5. Token 설정 및 생성

용도에 맞게 Token의 이름과 만료 기간, 권한을 지정하고 페이지 하단의 Generate token 버튼을 클릭한다.

 

6. 생성한 Token 값 확인

생성한 Token은 분실하지 않도록 잘 저장한다.

 

 

Push 하기

HTTPS URL로 Git 원격 저장소에 접근할 때, 사용자 인증 정보를 포함하는 경우에는 아래와 같은 형식을 사용한다.

https://USERNAME@GIT_URL
https://TOKEN@GIT_URL
https://USERNAME:TOKEN@GIT_URL

 

예로 들어 접근하고자 하는 원격 저장소의 정보가 다음과 같을 때,

생성한 Token 정보를 사용하여 접근하고 싶다면 아래와 같이 접근하면 된다.

https://TOKEN@github.com/jinyuo/branch_test.git

 

방금 생성한 Token 값으로 정상적으로 Push되는지 테스트해 보자.

위의 예시 저장소를 클론 받은 후 적당히 수정 commit을 생성했다. 그리고 기존에 사용하던 push 명령어에서 origin이라는 원격 저장소 이름 대신 token 정보를 포함한 원격 저장소 URL을 사용하여 push 한다.

# 기존 push 명령어
git push REMOTE BRANCH

# 예시 : Token 정보를 포함한 push 명령어
git push https://ghp_QZQ06wIiwNAviOtGf0i3S@github.com/jinyuo/branch_test.git \
    b20220627

정상적으로 push가 잘 되었다.

 

 

Git remote URL 변경

만약 Push 명령어를 사용할 때마다 Token을 입력하는 게 싫다면 로컬 저장소의 원격지 정보에 Token을 추가하는 것도 방법이다.

git remote set-url origin https://TOKEN@GIT_URL

# 예시
git remote set-url origin https://ghp_QZQ06wIiwNAviOtGf0i3S@github.com/jinyuo/branch_test.git

 

 

참고 문서

https://gibro.tistory.com/9

[Github] 토큰 인증 로그인(Personal Access Token)

 

728x90