작성
·
265
답변 2
1
0
안녕하세요~ :) 질문 감사드립니다 (그리고 여러 시도를 해보시고 고민하시느라 고생 많으셨습니다..!)
아래는 혹여나 실수한 부분이 있는지 체크해드리기 위해 드리는 질문입니다.
1. 2chaeng 계정에서 chae-young의 chae-young이라는 repository를 fork 한 것이 맞나요?
2. fork된 repository(2chaeng 계정의 respository)를 clone하셨나요?
---
답변을 드리자면,
만일 질문자님께서 한 컴퓨터(본인의 컴퓨터)에서 2chaeng 이라는 계정과 chae-young이라는 계정을 두 개 만든 뒤
두 개의 계정에서 각각 push를 하고자 했다면, 일반적으로는 되지 않습니다.
.
그 이유는 github의 인증 절차 때문인데요,
.
질문자님께서 질문자님의 컴퓨터에서 뚝딱뚝딱 코드를 작성한 다음에 add commit push를 하면
자동적으로 github에 짠 업로드가 되죠?
.
근데 github는, 방금 코드를 push한 컴퓨터가 질문자님의 컴퓨터인지,
아니면 제3자인지 식별하는 과정이 분명 있어야 할텐데,
근데도 우리는 push할 때마다 내가 누군지를 알려주는 암호를 매번 입력하지는 않잖아요..?
.
그 이유는 git은 SSH라고 하는 암호화 방식을 통해 암묵적으로 인증을 하기 때문입니다.
.
(SSH의 자세한 동작원리에는 public key와 private key라는 개념이 있긴 한데..이는 질문의 범위에 벗어나니
질문자님의 구글링에 맡기겠습니다^^)
.
근데, 한 컴퓨터에서 여러 github 계정으로 push하려 한다면 (ssh키를 맞춰 주지 않은 이상)
나중에 push한 key가 기존에 맞춰준 key와 동일하지 않기 때문에
"너는 내가 아는 사용자가 아니야!:" 하고 permission denied를 띄우는 거랍니다.
.
때문에 한 컴퓨터에서 여러 github 계정을 만들어 push pull 하는 것은 일반적으로 (특별히 SSH 키를 맞춰주지 않은 한)
허용되지 않습니다.
.
제가 강의에서 보여드렸던 방식은, 새로운 제 2의 계정(account)을 생성한 게 아니라,
sig-kr이라고 하는 organization 안에 있는 저장소로 코드에게 pull request를 날렸기 때문에 가능했던 겁니다.
.
만일 한 컴퓨터에서 여러 github 계정을 사용하고 싶다면 ssh 키를 맞춰서 설정해주면 됩니다.
그다지 어렵지 않으니 아래 관련자료 링크 첨부해드릴게요.
https://velog.io/@jay/multiplegithubaccounts
혹시 pull request를 연습하고 싶으시다면,
제가 마지막 수업에서 안내해드린 pull request를 날릴 수 있는 repositoryt를 대상으로 연습하시면 됩니다.
https://github.com/web-together/Practice-PR