본문 바로가기
쿤즈 DevTool/Git

[Git] GitHub에 git push 하는 방법 (feat. GitHub 가입부터 키 생성까지)

by :)Koon 2021. 3. 31.

지금까지 git에 가장 기본적인 부분들에 대해서 알아보았습니다. git을 설치하고 파일을 추가해보고, 또 커밋해서 관리형태의 소스로 등록하는 방법까지 알아보았습니다.

 

 

여기까지는 모두 git을 로컬(내 PC)에서 사용하는 방법이었습니다. 만약 여러 사람들이 함께 git을 사용해야 한다면 어떻게 해야 할까요?

이번 포스팅에서는 Github라는 공간에 대해서 소개해 드릴까 합니다.


소프트웨어 개발 플랫폼 Github

Github는 현재 마이크로소프트에서 인수해서 운영중인 소프트웨어 개발 플랫폼입니다. Git을 기반으로 시스템을 호스팅하고 개발 소스들을 원격 저장소에 업로드해서 사용할 수 있는 공간입니다.

현재는 개인 공간들을 무료로 사용할 수 있기 때문에 개인들에게는 매우 편리하고 이용해 보기 좋은 공간이 되었습니다.


GitHub에 내 공간 만들기

내 공간을 만들기 전에 먼저 GitHub를 가입합니다. 그리고 새로운 Repository를 만들기 위해서 New 버튼을 클릭합니다. 클릭한 이후에는 아래와 같은 화면이 나타납니다.

 

만들고자 하는 repository name을 입력하고 Public, Private을 선택합니다. 모두가 접근이 가능한 소스라면 Public으로, 내 개인 공간으로 사용하기 위해서는 Private으로 선택하시면 됩니다. 저는 테스트 용도이기 때문에 Public을 선택하도록 하겠습니다.

 

아래에 README 파일을 포함한 여러 파일들은 일단 체크하지 않고 넘어갑니다. Create repository 버튼을 클릭하면 다음과 같은 화면이 나타납니다.

앞서 git init, git add, git commit 과 관련된 명령어는 모두 사용하여 준비를 마친 상태입니다. 지금부터는 push 명령어를 이용해서 내 로컬 저장소에 있는 소스를 원격 저장소인 github에 업로드해보도록 하겠습니다.


원격 저장소에 소스 업로드 git push

최초 github에 git을 이용해서 업로드 하기 위해서는 git remote라는 명령어를 사용합니다.

$ git remote add origin [git 주소]

위 명령어를 입력해도 아무런 변화가 없습니다. 입력이 완료 되었다면 현재 git의 branch를 확인해 봅니다.

$ git branch

지금까지 아무설정도 하지 않았다면 master라고 화면에 나타날 것입니다. 그럼 이제 우리가 올릴 git의 새로운 branch 이름을 main으로 해서 branch를 생성해 보도록 하겠습니다.

$git branch -M main

새로운 branch main을 접근하면 git 프롬프트가 main으로 변경됩니다. 여기서 git branch 명령어를 이용해서 현재 branch를 보면 main으로 변경된 사실을 알 수 있습니다.

 

이제 현재 git에 commit한 소스들을 모두 업로드해 보겠습니다. 명령어는 다음과 같습니다.

$ git push -u origin [branch name]

가장 처음은 통신하기 위해 공개키를 등록하는 과정입니다. yes를 입력하고 난 이후에 Permission denied 에러가 발생합니다.

 

Github에 소스를 업로드 하기 위해서는 권한이 필요합니다. 아무나 내 소스에 업로드를 할 수가 없죠. 그리고 그 권한은 공개키(publickey)를 만들어서 관리합니다. 즉, 현재는 등록된 공개키가 없어서 나타나는 에러입니다.

 

그럼 키를 셋업 하도록 하겠습니다.


GitHub SSH 키 셋업

키를 셋업하기 위해서는 먼저 GitHub 사이트에 접속 후 로그인을 합니다. 로그인 이후에 우측 상단에 아이콘을 누르고 Settings 메뉴에 접속합니다.

Settings에 접속하시면 왼쪽에 여러 탭이 등장합니다. 중간에 보시면 아래와 같은 메뉴가 있습니다.

[SSH and GPG keys] 탭을 클릭합니다.

 

누르시면 현재 사용하고 있는 SSH 키들이 화면에 나타납니다. 첫 사용이라면 아무 키도 나타나지 않습니다. 여기서 새로운 키를 등록해야 하지만 그 키는 내 로컬 PC에서 만들어야 합니다. 그렇게 만든 키를 등록해야 하죠.

 

로컬 키를 만드는 방법은 generating SSH keys 링크를 클릭하시면 macOS / Linux / Windows 별로 설명이 잘 되어 있습니다.

SSH키 생성 방법 : https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

키 생성 이후 파일을 확인해 보시면 ssh-ed25519 로 시작되는 값이 있을 겁니다. 이 값을 복사한 뒤에 github에서 New SSH key 버튼을 클릭해서 아래와 같이 넣어줍니다.

Add SSH key 버튼을 눌러서 완료해 줍니다. 그럼 새롭게 등록된 키가 아래처럼 리스트에 나타납니다.

그럼 다시 내 로컬PC로 돌아와서 push를 해보겠습니다.


GitHub에 소스 업로드 git push

다시 로컬로 돌아와서 이전에 에러가 났던 명령어를 다시 입력해 봅니다.

$ git push -u origin [branch name]

이번에는 정상적으로 성공하는 모습을 볼 수 있습니다.

현재 new branch가 main이라는 말과 함께 remote에도 main branch가 셋업 되었다는 메시지가 나타납니다. 그럼 github에서도 확인해 보도록 하겠습니다.


GitHub에서 push된 소스 확인

왼쪽 상단에 1 branch로 표현되어 있으며 main이라는 branch가 나타납니다.

내 로컬PC에만 있던 소스들이 GitHub에 업로드되어 지금부터 확인할 수 있으며 누구든지 이 소스들을 clone 하거나 확인할 수 있게 된 것입니다. 단, Public일 경우만 확인이 가능하며 Private일 경우는 자신만 확인할 수 있습니다.


지금까지 로컬에서만 관리하던 소스를 GitHub라는 공간에 업로드 하는 방법을 알아보았습니다. GitHub는 개인이 사용하면 매우 유용한 공간입니다. 모든 프로젝트는 소스 관리를 하기 때문에 Git에 조금 더 익숙해져서 개인 프로젝트라도 Git으로 소스를 관리해보는 것이 좋은 방법이라 생각합니다. 도움이 되셨으면 합니다. 이상입니다.

댓글