300x250

 

목차

     

    Introduction

    Push or Pull 시 에러

    github의 정책이 바뀌면서, Push 또는 Pull을 할 때 패스워드 인증을 지원하지 않는다.

    대신, Personal Access Token을 사용하라고 뜬다.

     

     

    Github Personal Access Token 발급 방법

     

    Github 홈페이지 우측 상단 프로필

    Github 접속  ->  우측 상단 프로필 사진 클릭 -> Settings 클릭

     

    Developer Settings 클릭

    페이지 좌측의 'Developer settings' 클릭

     

     

    'Personal access tokens' 클릭 -> 'Generate new token' 클릭

     

    비밀번호를 치면!

     

     

    새로운 Personal Access Token을 생성하는 창이 뜬다.

    • Note : Access Token의 이름? 아무 이름이나 붙여주면 됨
    • Expiration : 만기일 (Default는 30일) -> 만기일 지나면 다시 token 생성해야함. 본인은 그냥 90일정도로 설정해 두었음
    • Select scopes : 범위 -> 뭔지 제대로 몰라서 전체 다 체크했음

    까지 설정한 후에,

    Generate token 버튼을 눌러주면 token이 뜸

    주의! token을 다시 볼 수 없기 때문에, 곧바로 자신만이 알 수 있는 곳에 저장해두었다가, 이후에 사용!

    이제, Github 아이디와 비밀번호를 물어볼 때, 아이디는 그대로 기입하되, 비밀번호에 방금 발급받은 Personal Access Token을 입력해 주어야 함

     

     

    한 번만 입력하고, 더 이상 묻지 않게 하기

     

    Token을 잊어버리거나 만료된 경우, 매번 다시 토큰 생성을 하는 것이 너무 귀찮아서 모두 정리해 둔다.

    먼저, git에서는 'credential'이라는 기능을 제공한다.

    크게 'Cache', 'Store' 두 방법으로 나뉜다

    Cache는 인증 정보를 Disk에 저장하는 것이 아니라, 메모리에 15분 까지만 저장해두고, 더 길게 하려면 시간을 연장해 주어야 한다.

    반면 Store는 인증 정보를 Disk에 저장하여 계속 유지하게 해준다.

    개인 컴퓨터인 경우에는 Store를 사용하는 것을 추천한다.

    로그인 정보를 OS 자체에서 지원하는 Keychain 시스템을 통해 좀 더 안전하게 저장할 수도 있다.

     

     

    git config

    git config란, git에 대한 설정 정보이다.

    • git 전체 config 리스트 보기
    git config --global --list

     

     

    • git config 설정하기 (이름, 이메일)
    git config --global user.name "이름"
    git config --global user.email "이메일"

    -> global : 전역적인 설정

     

     

    • git config 삭제하기
    git config --unset --global user.name
    git config --unset --global user.email

     

     

    Credential.helper - Cache

    id, password를 짧은 시간동안 반복적으로 입력하는 일을 피할 때 사용

    git config --global credential.helper cache

    -> 위의 'git config --global --list'를 입력해보면 'credential.helper=cache'라고 리스트에 추가된다.

    -> 한 번 cache를 하면 15분동안 메모리에서 유지하는데, 시간을 연장하려면 다음의 명령어를 입력한다.

     

     

    git config credential.helper 'cache --timeout=3600'

    -> 위와 같이 설정해두면 3600초, 즉 1시간동안 캐싱을 한다.

     

     

     

    Credential.helper - Store

    id, password를 Disk에 저장하고 유지하고싶은 경우에 사용

    git config --global credential.helper store

    -> 위의 'git config --global --list'를 입력해보면 'credential.helper=store'라고 리스트에 추가된다.

    -> 한 번 로그인된 정보는 자동으로 저장되며 다음부터 묻지 않게 된다.

    -> 저장된 로그인 정보는 ~/.git-credentials 경로에 저장된다.

     

     

     

    Credential.helper - Keychain

    Store의 경우, 파일에 로그인 정보가 그대로 저장되어, 유출의 우려가 있을 수 있다.

    좀 더 안전하게 사용하려면 OS에서 지원하는 Keychain 시스템을 이용하면 된다.

    Mac / Windows에서의 방법이 조금씩 다르다.

     

    • Mac
    git config --global credential.helper osxkeychain

    <새로운 token (아이디) 등록>

    Launchpad - 기타(폴더) - 키체인 접근

    또는 Finder - 응용 프로그램 - 유틸리티 - 키체인 접근.app 실행

    이후 수동으로 'github.com'항목을 찾아 삭제 ('인터넷 암호'인 키를 클릭해야함)

     

    이후 user.name, user.email로 이름, 이메일을 변경

    git config --global user.name "JJukE"
    git config --global user.email "깃허브 계정(이메일 주소)"

    새로 등록된 계정으로 git commit, git push 명령 실행

    -> id, password(token) 입력

    -> push 완료 후 자동으로 키체인에 새로운 계정 정보가 등록됨

     

    • Windows
    git config --global credential.helper wincred

    Windows의 경우, "자격 증명 관리자(Credential Manager)"에서 등록된 정보를 확인할 수 있다. 만약 remote repo의 비밀번호를 수정했다면(token이 만료되는 등으로 갱신했다면) 정보를 삭제하고 새로 등록해주어야 한다.

     

    728x90
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기