• 카테고리

    질문 & 답변
  • 세부 분야

    개발 도구

  • 해결 여부

    미해결

협업하기(1)에서요

20.06.05 00:23 작성 조회수 209

1

fork랑 clone 까지하고

브랜치만들어서 커밋하고 push 해줬는데 

계속 에러가납니다..

그래서 pull해줘봤는데도 에러나고

마스터로도 push해도 저에러가 나더라고요..

계정문제인가 싶어서 로그인해도 해줬는데 안되요ㅠㅠ

무슨문제인걸까요..ㅠㅠ 여러가지 시도하다가 문의드립니다

답변 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