Development/개발일지

[개발노트] 로컬에 git 계정 여러개 사용하기

사이바 미도리 2024. 10. 12. 15:31

링크 를 참고하여, 설정을 진행하고있었다.

 

기존에 사용하고 있던 git 계정이 있었고,

다른 git 레포에 push하기 위한 별도의 github 계정을 파고,

id_rsa를 새로 생성하였다.

 

그런데...

 

ERROR: Permission to hanaokaDev/2d_godot_tutorial.git denied to {예전계정명}.

 

이게 뭐시당가.

git global config를 git local config가 덮어쓸 터인데.

라고 생각했는데, 실제 구조는 달랐다.

 

 

1. .ssh/config에, host의 Domain이 특정 패턴을 만족하면(github.com-hanaokaDev), id_rsa를 기본이 아니라 id_rsa_hanaoka로 잡아주도록 IdentityFile을 설정했다.

2. 그런데, 나는 이것만 했을 뿐이고, 정작 .git/config에는 url에 git@github.com:hanaokaDev 였기 때문에, .ssh/config가 기대하고 있던 값인  git@github.com-hanaokaDev:hanaokaDev 가 아니어서, 적절한 id_rsa를 잡지 못했다.

3. 그래서, 예전계정명이 뜬금없이 계속 등장했던 모양이다. 다만 id_rsa랑 예전계정명의 관계는 잘 모르겠다.

 

아무튼, git clone할 때,

git clone git@github.com-hanaokaDev:hanaokaDev/2d_godot_tutorial.git

 

한 후, git push를 하니 잘 되었다.

 

이미 Repository를 git init으로 만든 상태라면,

git remote add origin git@github.com-hanaokaDev:hanaokaDev/myZombieSurvivor2.git

 

하면 된다.

 

 

좌측: push 성공하는 설정

우측: push 실패하는 설정

 

----

여담으로, zsh에서는 multi-line alias를 이렇게 써도 된다. 한줄에 때려박기위한 세미콜론 구분자가 필요없다는 뜻이다(가독성 UP).

autogp() {
        git add .
        git commit -m 'Auto Commit'
        git push
}
cnc() {
       clear
}