자동 로그인은 주로 Git의 자격 증명(credential)을 저장하고 재사용하는 방식으로 구현됩니다.
git config --global user.name과 git config --global user.email은 커밋의 작성자 정보를 설정하기 때문에 반드시 설정해야 하는 중요한 값입니다.
자동 로그인과 사용자 정보 설정을 함께 처리하는 방법
- Git 사용자 정보 설정하기
먼저, Git에 사용할 사용자 이름과 이메일을 설정합니다. 이 정보는 커밋 작성자 정보로 사용됩니다.
$ git config --global user.name "Your Name"
$ git config --global user.email "your.email@example.com"
이 명령어를 통해 전역 설정으로 Git 커밋에 사용할 이름과 이메일이 설정됩니다.
- Git 자격 증명 저장 (자동 로그인 설정)
Git 명령어를 실행할 때 원격 저장소(GitHub, GitLab 등)에 자동으로 로그인되도록 설정하려면, 자격 증명을 저장해야 합니다. 가장 쉬운 방법은 credential.helper store를 사용하는 것입니다.
$ git config --global credential.helper store
이 명령어는 자격 증명을 평문 텍스트로 저장하며, 이후 Git 명령어 실행 시 자동으로 해당 자격 증명을 사용하게 됩니다.
- 원격 저장소 연결 및 자격 증명 저장
이제 자격 증명을 저장하고 자동 로그인을 설정하려면, Git에서 원격 저장소에 접근할 때 자격 증명을 입력해야 합니다.
예를 들어, 원격 저장소로 git push를 실행합니다.
$ git push origin main
이때 Git은 사용자 이름과 비밀번호(또는 GitHub Personal Access Token)를 묻습니다. 입력하면 Git이 이 정보를 평문으로 저장하고, 이후 같은 원격 저장소에 접근할 때 자동으로 로그인됩니다.
GitHub Personal Access Token (PAT) 사용 시
만약 GitHub에서 2단계 인증(2FA)을 사용하는 경우, 비밀번호 대신 Personal Access Token(PAT)을 사용해야 합니다. GitHub에서 토큰을 생성하고, git push나 git pull 명령어를 실행할 때 비밀번호 대신 이 토큰을 입력합니다. 이때 자격 증명이 저장되어 자동 로그인이 가능해집니다.
요약
- git config --global user.name과 git config --global user.email을 사용해 커밋 정보를 설정합니다.
- git config --global credential.helper store로 자격 증명을 저장해 자동 로그인을 설정합니다.
- 첫 로그인 시 자격 증명을 입력하면 이후 자동으로 로그인됩니다.
이렇게 설정하면 Git 커밋 시 커밋 기록에 이름과 이메일이 포함되고, 원격 저장소로 작업을 푸시할 때마다 자동으로 로그인됩니다.
+) 기존에 Git 사용자 정보가 이미 설정된 경우
1. 기존 사용자 정보 확인
먼저, Git에 설정된 기존 사용자 정보를 확인해야 합니다. 이를 통해 새로운 사용자 정보로 교체할 것인지, 아니면 그대로 유지할 것인지 결정할 수 있습니다. 특정 프로젝트에서만 적용하려면 --global을 --local로 바꿔 실행합니다.
$ git config --global user.name
$ git config --global user.email
이 명령어로 현재 전역 설정된 사용자 이름과 이메일을 확인할 수 있습니다. 특정 프로젝트에만 설정된 정보가 있는 경우는 다음 명령어로 확인합니다.
2. 기존 사용자 정보 수정 또는 삭제
1) 기존 정보를 수정하려는 경우:
기존 정보를 새로운 정보로 덮어쓸 수 있습니다.
$ git config --global user.name "New Name"
$ git config --global user.email "new.email@example.com"
이 명령어는 전역 설정을 업데이트합니다.
2) 기존 정보를 삭제하려는 경우:
기존 사용자 정보를 제거하고 싶다면 다음 명령어를 사용합니다.
$ git config --global --unset user.name
$ git config --global --unset user.email
'기타' 카테고리의 다른 글
JWT란? 구조, 사용 사례, 그리고 보안 팁 (3) | 2024.10.24 |
---|---|
YAML이란? 알아두면 유용한 데이터 직렬화 형식 (4) | 2024.08.16 |
npm과 npx를 사용하는 이유와 차이점 (1) | 2024.08.16 |
Node.js란 무엇인가? 입문자를 위한 필수 개념 정리(node 설치) (2) | 2024.08.14 |
TablePlus를 사용해 데이터베이스에 쉽게 접속하는 방법 (0) | 2024.08.14 |