Git 을 사용할 때 더 이상
아이디 (이메일), 패스워드를 입력하지마세요.
'Access Token' 이나 'OAuth' 를 사용하세요.
🎯 Goal
- commit 시 필요한 계정 정보를 올바르게 입력할 수 있다.
- config 의 우선순위를 알고 실컷 짜놓은 코드가 남의 명의(Author) 로 커밋되는 불상사를 방지한다.
현재 설정된 Config 확인 Command
git config --list
git config -l
- System 설정 확인시 --system
- Global 설정 확인시 --global
- Local 설정 확인시 --local
- 모든 설정 확인시 추가인자 X
계정 정보 입력
user.name
user.email
요놈들을 올바르게 설정해야한다.
다른 컴퓨터에서 작업하는 경우 특히 우선순위가 높은 `--local` 설정을 해주는 것이 좋다.
⚠️ 그렇지 않으면 엄한 사람 계정으로 commit 될 수 있다.
git config --local user.name [계정명]
git config --local user.email [계정이메일]
우선순위
Local > Global > System
🔑 Access Token
비밀번호 말고, Personal Access Token 을 생성할 수 있는데 자세한 내용은 아래 링크를 통해 사용하자.
한 술 더 떠서, 2FA-Authentication 도 등록하자 (Google Authenticator) 를 추천한다.
gitlab 은 2FA 인증을 하지않으면 액세스 토큰도 사용하지 못하도록 막아놨다.
🔒 Credential
repository 가 여러개 일 때, 한 사용자로 하나의 repo 에 작업하는 것이 일반적이나
여러 사용자 계정으로 작업할 수도 있다.
commit 할 때마다 사용자 계정을 바꿔주는 것은 귀찮은 일이다.
Mode | Description |
Default | 암호 저장 ❌, 매번 사용자 이름과 암호 입력 |
cache | 일정 시간동안 메모리에 사용자 이름과 암호 인증정보 기억 (Disk 에 저장하지 않고 인메모리에 15분까지만 유지) |
store | 인증 정보를 Disk 에 텍스트 파일로 저장하여 유지. ⚠️ 인증 정보가 사용자 홈 디렉토리 아래에 일반 텍스트 파일로 저장됨. (보안 유의) |
osxkeychain | Mac 에서 제공하는 키체인 시스템 사용자 이름과 암호를 현재 로그인 계저에 속하게 저장. Safari 브라우저가 인증정보를 저장하는 것과 같은 수준으로 '암호화'하여 저장. |
store 모드의 텍스트 파일의 위치는 `~/.git-credentials` 에 있다.
아래와 같이 따로 파일 경로를 지정해 줄 수 있다.
$ git config --global credential.helper 'store --file [credential-file-path]
Credential 등록 방법
# $ git config credential.helper [mode-option]
# 아래 명령어 입력 후
$ git config credential.helper store
# pull / push 등 커맨드 입력시
# Username for :
# Password for :
# 위와 같이 인증정보를 입력하라 한다.
# 정상 인증시 인증정보가 파일로 저장된다.
🔗 Reference
'기타 > git' 카테고리의 다른 글
[Error] git push Error (non-fast-forward) (0) | 2022.03.11 |
---|---|
[git] Rebase vs Merge request, Pull request (0) | 2021.12.28 |
[Git] Security Vulnerabilities (보안 문제 해결) (0) | 2021.05.12 |
[Git] branch (0) | 2021.03.29 |
gitlab Setting (gitlab 시작하기, 설정) (0) | 2020.01.13 |