Git: 계정 password에 timeout 물리기
Git에서 계정 비밀번호를 저장 혹은 캐싱하자.
Git 사용자 중에서도 의외로 모르는 사람들이 있는 것같아 공유하고자한다. 우리가 Git을 사용하다 보면 git push나 git pull등을 할 때, 비밀번호를 입력해야하는데 해당 부분을 없애거나 줄일 수 있다.
- Repository URL에 직접 입력.
보통 프로젝트를 git clone하게 되면, 프로젝트 내에 .git/config가 생긴다. 해당 config를 수정해주면 되는데, 깃 커맨드도 있지만 나는 vim으로 직접 수정하는 편이다.
$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = https://github.com/hidekuma/hidekuma.github.io.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
이런식으로 config가 설정되어 있을텐데, 여기서 [remote “origin”] > url을 변경해주면 된다.
[remote "origin"] url = https://아이디:패스워드@github.com/hidekuma/hidekuma.github.io.git
허나 해당 방법은 다소 보안상 위험하다. 따라서 나같은 경우, 아이디만을 넣어준다.
[remote "origin"] url = https://아이디@github.com/hidekuma/hidekuma.github.io.git
- 캐시설정.
위에 제시된 방법처럼, remote url에 아이디만 넣어주면, 깃 커맨드를 사용할 때마다 계속해서 비밀번호를 물어올것이다. 생각만 해도 끔찍한데, 이 빈도수를 확 줄일수가 있다.
$ git config --global credential.helper cache
이렇게 하면 15분간 비밀번호를 캐싱해준다. 디폴트가 900초인 셈인데, 아직도 짧다.
git config --global credential.helper 'cache --timeout=432000'
이렇게 하면 타임아웃 시간을 커스텀할 수 있다. 자 이제 5일간 캐싱을 해준다. 살았다.