push하는데 git이 사용자명과 패스워드를 요구한다면

git

원격 저장소가 연결된 상태에서 push를 했는데 git이 사용자명과 패스워드를 요구하여 매우 당황스러울 때가 있다. 이 현상은 해당 저장소를 애초에 clone할 때 SSH 프로토콜이 아니라 HTTPS 프로토콜이 사용하였을 때에 발생한다. 이는.ssh/config 파일에 기록된 원격 저장소의 url을 보면 알 수 있다.

1
2
3
4
5
...
[remote "origin"]
url = https://github.com/kihwanglee/hexo-theme-hueman.git
fetch = +refs/heads/*:refs/remotes/origin/*
...

해결 방법은 원격 저장소의 url을 SSH 주소로 바꾸어 주는 것이다. 위 파일을 직접 고칠 수도 있겠으나

1
$ git remote set-url origin git@github.com:kihwanglee/hexo-theme-hueman.git

와 같이 하여 바로잡는 것이 정석이다.

참고 링크