원격 저장소 GitHub를 이해
본 글에서는 GitHub에 대해 이해하며 이전 문서에서 작성한 Git과의 차이점을 이해해 봅니다. 결국 프로젝트 변화를 관리하는 도구와 변화된 내용을 원격 저장소에 보관하는 방법을 이해하는것이 Git과 GitHub에서 알아야하는 사항입니다.
본 글에서는 먼저 GitHub를 이용할 준비를 하는 것을 진행하고 로컬 Git과 연동하는 2가지 방법들을 정리하겠습니다. 이전 글과 본글을 통해 연동하는 방법들을 이해한다면 앞으로 다양한 언어를 다양한 개발도구에서 활용하여 그 정보를 저장할 수 있게 될 것입니다.
Git에 대한 정보를 먼저 보고오세요.
[Git설치]Git으로 코드 변경 관리하자.
🌟 Git이란 무엇인가?🔹 Git의 정의Git은 분산 버전 관리 시스템(DVCS, Distributed Version Control System)으로, 코드 변경 사항을 효율적으로 추적하고 여러 개발자와 협업할 수 있도록 도와주는 필수 도구
all-tech-hub.tistory.com
1. GitHub란?
GitHub는 개발자들이 소스 코드를 관리하고 협업할 수 있도록 지원하는 클라우드 기반 Git 저장소 호스팅 서비스입니다. GitHub를 사용하면 다양한 개발자들이 같은 프로젝트에서 효율적으로 작업할 수 있으며, 코드 변경 사항을 기록하고 협업을 용이하게 할 수 있습니다.
GitHub는 단순한 코드 저장소를 넘어, 이슈 트래킹, 코드 리뷰, 프로젝트 관리 기능을 제공하여 오픈 소스 및 기업 프로젝트에서도 광범위하게 사용됩니다.
2. Git과 GitHub의 차이점
많은 사람들이 Git과 GitHub를 혼동하지만, 둘은 서로 다른 개념입니다.
구분 | Git | GitHub |
정의 | 분산 버전 관리 시스템 | Git을 기반으로 한 클라우드 호스팅 플랫폼 |
역할 | 로컬에서 버전 관리 수행 | 원격에서 Git 저장소를 호스팅하고 협업 지원 |
사용 방식 | 명령어 기반 | 웹 인터페이스 및 Git과의 연동 |
주요 기능 | 커밋, 브랜치, 병합 | 원격 저장소 제공, 코드 리뷰, 협업 기능 |
Git은 개별 개발자의 로컬 환경에서 코드의 변경 사항을 추적하는 시스템이며, GitHub는 이를 원격에서 관리하고 팀원과 공유할 수 있도록 도와줍니다.
3. 개인 GitHub 계정 생성 방법
개인 GitHub 계정을 만들고 사용하려면 아래 단계를 따르면 됩니다.
(1) GitHub 웹사이트 방문
먼저 GitHub 공식 웹사이트에 접속합니다.
(2) 회원가입 진행
- 홈페이지에서 "Sign up" 버튼을 클릭합니다.
- 사용자명 (Username), 이메일 (Email Address), 비밀번호 (Password)를 입력합니다.
- Verify your account 단계에서 GitHub의 보안 확인을 완료합니다.
- "Create Account" 버튼을 눌러 회원가입을 진행합니다.
회원가입을 위해 Sign Up을 클릭합니다.
사용할 이메일과 비밀번호를 작성합니다. 사용자명 https://github.com/username123 부분에 사용될 것이므로 기존에 존재하는 것과 중복되지 않는 이름을 선택해야하고, 앞으로 사용하는데 편하고 의미 있는 이름을 사용하는 것을 추천합니다.
입력한 이메일로 전송된 번호를 입력하고 Continue를 클릭하여 진행합니다.
(3) 이메일 인증
회원가입 후, 입력한 이메일 주소로 확인 메일이 전송됩니다. 해당 메일을 열어 인증 링크를 클릭하면 계정이 활성화됩니다.
(4) GitHub 프로필 설정
- GitHub에 로그인한 후, 프로필 사진 및 기본 정보를 설정할 수 있습니다.
- GitHub는 기본적으로 무료 플랜을 제공하며, 필요에 따라 유료 플랜을 선택할 수도 있습니다.
회원 등록이 정상적으로 이뤄졌다면 이제 로그인을 하기위해 Sign in을 선택 합니다.
회원 가입할 때 등록했던 이메일과 비밀번호를 작성하고 로그인 과정을 거칩니다.
4. 로컬 Git과 원결 GitHub 연동 방법
GitHub 계정을 생성한 후, 로컬 환경에서 Git을 설치하고 GitHub와 연동하면 더욱 편리하게 사용할 수 있습니다.
이 전 글을 통해 먼저 Git을 설치했다고 가정하고 내용을 이어 가겠지만 혹시 이 글만 보는 경우는 Git이 설치되어 있는지 확인을 먼저 합니다. 설치 되어 있다면 Git bash 또는 터미널(Windows의 경우 명령 프롬프트)에서 다음 명령어를 입력하면 설치된 버전도 확인할 수 있습니다.
git --version
만약 Git이 설치되어 있지 않다면, 먼저 로컬 Git을 설치하세요. (이전 문서에서 설치 방법 참고하기)
자 이제 로컬 Git과 원격 저장소인 GitHub가 설치 되었으니 서로 연동하는 방법을 살펴보겠습니다.
연동 방식은 HTTPS 방식과 SSH 방식 두 가지가 있습니다. SSH 키 등록은 보안 연결을 설정하여 GitHub와 로컬 Git을 안전하게 연동하는 과정이지만, HTTPS 방식을 이용하면 SSH 키 없이도 저장소를 생성하고 연동할 수 있으므로 선택해서 사용할 수 있습니다.
연습하기 위해서는 다음 2가지 방법을 모두 진행해 보길 권하며 실제 프로젝트 진행을 위해서는 HTTPS 또는 SSH 방법 중 한 가지를 선택해서 진행하면 됩니다.
(1) HTTPS 방식 연동
추천 방법입니다. 이 방법 또한 안전하고 사용이 편하기 때문에 저는 주로 사용하게 됩니다.
단계1] GitHub에서 Repository 생성
- 먼저 GitHub에 로그인 후, 오른쪽 상단의 + 버튼을 클릭하고 New repository 선택하여 사용한 Repository를 생성합니다.
- 사용할 Repository 이름을 입력합니다. (예: MyProject1 으로 생성하는 것으로 가정합니다.
- Public(공개) 또는 Private(비공개) 에서는 공개 여부에 따라 선택하며 본 글에서는 공개를 선택합니다.
- Create repository 버튼 클릭하여 저장소 생성합니다.
- 정상적으로 생성되었다면 그림과 같은 결과를 확인할 수 있습니다. 이 정보는 로컬 Git과 연동하는데 이용됩니다.
단계2] 로컬 Git에서 GitHub 연동하기
- 원격에서 생성된 Repository를 연동할 위치를 정하고 원하는 이름으로 폴더를 생성한 후 폴더 내에서 GitHub와 연동합니다. 예를 들어 다음과 같은 이름으로 폴더를 만들고 이동 합니다.
- 로컬에서 Git bash 또는 터미널(윈도우에서 커멘드 창)을 이용하며 폴더 경로는 원하는 위치로 이동하여 다음 명령어를 실행합니다.
mkdir myproject1 # 프로젝트 폴더 생성
cd myproject1 # 폴더로 이동
- 위 그림의 명령어 복사 버튼을 클릭하면 전체 명령어가 복사가 되므로 로컬 Git bash에서 붙여넣기를 실행합니다.
- 로컬 Git과 원격 GitHub의 연동을 확인하기위해 다음과 같이 같은 내용이 존재하는지 확인해 봅니다.
- 로컬 Git이 myproject1 폴더에 초기화가 되었고 GitHub의 MyProject1 이름의 Repository에 연동되어 앞으로 진행하는 내용들을 저장할 수 있는 준비가 되었다는 것을 확인할 수 있습니다.
(2) SSH 방식 연동
SSH 방법은 HTTPS보다는 다소 복잡하게 느껴질 수 있습니다. 하지만 암호화된 키를 사용하여 더 안전하다는 평가를 받는 방법이므로 중요한 프로젝트 진행을 하는 경우이며 개인 개발환경에서 자주 GitHub를 연결해야 하는 경우에 활용하면 좋은 방법이라 할 수 있습니다.
다음 절차를 따라 진행하면서 Git과 GitHub를 연동하는 절차를 이해해 보겠습니다.
단계1] Git 사용자 정보 설정
원격 저장소인 GitHub와 로컬 Git을 연동하려면 먼저 사용자 정보를 설정해야 합니다.
로컬에서 Git bash 또는 터미널 (Windows의 경우 명령 프롬프트)을 이용하여 프로젝트 생성을 원하는 폴더로 이동한 후 다음 명령어를 입력합니다.
GitHub 회원 등록에서 사용한 Username과 Email 정보를 등록하는 과정입니다.
git config --global user.name "Your GitHub Username"
git config --global user.email "your-email@example.com"
이 과정은 Git이 커밋을 수행할 때 사용자 정보를 기록하는 데 사용됩니다.
단계2] SSH 키 생성
GitHub와 보안 연결을 설정하려면 SSH 키를 생성하고 등록해야 합니다.
- 로컬 터미널에서 다음 명령어를 입력하여 SSH 키를 생성합니다.
- ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
- 여러 개의 SSH 키를 관리하는 경우, 특정 파일명을 지정할 수도 있습니다.
- 본 글에서는 이름을 특별히 지정하지 않고 사용하겠습니다. Enter 부분 모두 아무 값도 입력하지 않고 그냥 엔터키를 누릅니다.
(참고 사항) 만약 이름을 지정하고 싶다면 키 생성 위치 .ssh/에 저장할 이름을 확장자 없이 사용합니다. /c/Users/yyson/.ssh/mykey 와 같은 형식으로 작성합니다.
- 생성된 SSH 키를 확인하려면 아래 명령어를 실행하세요. 출력된 키 값을 복사합니다.
- cat ~/.ssh/id_rsa.pub
(참고 사항) 만약 이름을 사용하였다면 cat ~/.ssh/mykey.pub 와 같이 입력한 파일 이름으로 확인합니다.
단계3] 원격 GitHub에 SSH Key 등록
- GitHub에 로그인한 후 정상적으로 로그인이 이뤄진 경우 다음 그림 위치의 아이콘을 선택합니다.
- 오른쪽 마우스 선택 후 보이는 메뉴 중 Settings > SSH and GPG keys로 이동하여 New SSH Key를 클릭합니다.
- Title에는 적절한 이름을 입력하고, Key 부분에 로컬 Git에서 생성했던 키를 복사하여 붙여넣은 후 Add SSH key를 클릭하면 완료됩니다.
- 확인을 위한 Confirm access에서 GitHub로그인에 사용되는 Password를 다시 한번 입력 합니다.
- Confirm이 되었다면 Key가 정상적으로 등록되었다는 확인 창을 다음과 같이 볼 수 있습니다.
이제 Git과 GitHub이 연동되어 보안 연결이 설정되었습니다.
단계4] 원격 GitHub에서 Repository 생성하기 및 로컬 연동
- GitHub에 로그인한 후 정상적으로 로그인이 이뤄진 경우 다음 그림 위치의 아이콘을 선택합니다. 우측 상단의 "+" 버튼을 클릭하고 "New repository" 선택합니다.
- 저장소 이름(Repository name) 입력(예: MyProject2)
- Public(공개) 또는 Private(비공개) 설정 : Public를 선택해 봅니다.
- 옵션으로 "Add a README file"을 선택할 수 있지만, 지금은 로컬에서 push할 것이므로 체크하지 않고 사용하겠습니다.
- "Create repository" 버튼 클릭을 선택하여 MyProject2 Repository를 생성합니다.
- 정상적으로 생성되면 로컬과 연결할 수 있는 명령어들을 친절하게 만들어 주는 것을 확인할 수 있습니다. 이 때 현재 접근 방법이 SSH이므로 그림과 같이 SSH를 선택합니다.
- 이제 GitHub에 생성한 저장소를 로컬 Git과 연결해 보겠습니다. 로컬에서 프로젝트 폴더를 만들고 Git 초기화 하는 과정을 다음과 같이 진행합니다.
mkdir myproject2 # 프로젝트 폴더 생성
cd myproject2 # 폴더로 이동
myproject2 폴더에서 위 그림의 명령어 복사 버튼을 클릭하면 명령어 전체 내용이 복사되므로 로컬의 Git bash 또는 터미널에서 붙여넣기를 합니다. 즉 다음과 같은 정보를 그대로 실행합니다.
- 연결이 잘 되었는지 확인하려면 다음과 같이 로컬과 원격의 같은 정보를 확인할 수 있습니다.
6) 마무리하며 앞으로 무엇을 해야할까?
이제 GitHub 계정을 만들고 Git과 연동하는 기본 과정까지 완료했습니다. 다음은 로컬 Git에서 프로젝트를 생성하고 변경되는 단계를 Commit 한 원격 GitHub에 push 하는 과정들을 학습할 차례입니다.
다양한 개발에서 Git과 GitHub를 사용하고 있으며 사용하는 개발 도구(IDE)들 마다 GUI를 이용하여 Git과 GitHub를 연동하도록 제공하므로 개발 도구를 이용하여 보다 편리하게 연동하는 방법들을 익혀보겠습니다.
앞으로 Git을 이용한 형상관리와 그 정보를 GitHub Repository로 관리하여 프로젝트를 효과적으로 관리하고 협업하는 방법으로 이용하시길 바랍니다.
'프로그램개발도구 > Git+Github' 카테고리의 다른 글
[Git Branch관리]VSCode+Git+Github Branch 관리(2) (0) | 2025.05.19 |
---|---|
[Git Branch관리]VSCode+Git+Github Branch 관리(1) (0) | 2025.05.13 |
[Git설치]Git으로 코드 변경 관리하자. (0) | 2025.02.07 |