Git와 GitHub를 배우고 싶나요? 버전 관리를 위한 단계별 가이드
Source: Dev.to
소개
많은 초보자들처럼, “main에 푸시하기” 혹은 “브랜치를 병합하기” 같은 용어를 들어본 적이 있을 것이고, 그 의미가 궁금했을 겁니다. 이 가이드는 Git과 GitHub의 기본 개념을 단계별로 안내하며, 설치 방법, 설정 방법, 그리고 코드를 효율적으로 관리하는 방법을 보여줍니다.
Git이란?
Git은 버전 관리 시스템으로, 코드의 스마트 히스토리 북이라고 할 수 있습니다. 변경을 할 때마다 Git이 이를 기록해 주어 다음과 같은 작업을 할 수 있습니다:
- 수정 사항 추적 – 무엇이 언제, 누가 변경했는지 확인합니다.
- 되돌리기 – 문제가 발생했을 때 이전 상태로 돌아갑니다.
GitHub란?
GitHub는 Git 저장소를 위한 웹 기반 호스팅 서비스입니다(코드의 클라우드라고 생각하면 됩니다). GitHub를 사용하면 다음을 할 수 있습니다:
- Store – 프로젝트의 백업을 보관합니다.
- Share – 코드를 다른 사람과 공유합니다.
- Collaborate – 서로의 작업을 덮어쓰지 않도록 팀워크를 위한 중앙 허브를 제공합니다.
- Showcase – 프로젝트 포트폴리오를 구축합니다.
Git Bash 설치 (Windows)
-
다운로드 공식 사이트에서 Git Bash를 받습니다.
-
설치 프로그램 실행 후 화면에 표시되는 지침을 따릅니다. 대부분의 사용자는 기본 옵션을 그대로 사용하면 됩니다.
- 기본 편집기 선택: 기본값(Vim)을 유지하거나 원하는 다른 편집기(VS Code, Notepad++ 등)를 선택합니다.
- 초기 브랜치 이름 조정: “Git에게 맡기기”(현재 기본값은
main)를 선택합니다.
-
설치 확인: Git Bash를 열고 다음 명령을 실행합니다.
git --versionGit 버전 번호가 표시되어야 합니다.
Git 설정
Git을 사용하기 전에, 본인의 신원을 설정하세요:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
설정을 확인합니다:
git config --global --list
GitHub 계정 및 SSH 키 설정
-
GitHub 계정을 만든다.
-
SSH 키를 생성한다 (매번 비밀번호를 입력하지 않도록):
ssh-keygen -t ed25519 -C "your@email.com"프롬프트가 나오면 Enter 키를 눌러 기본값을 그대로 사용한다.
-
SSH 에이전트를 시작한다:
eval "$(ssh-agent -s)" -
SSH 키를 에이전트에 추가한다:
ssh-add ~/.ssh/id_ed25519 -
공개 키를 복사한다:
cat ~/.ssh/id_ed25519.pub화면에 표시된 문자열을 복사한다.
-
키를 GitHub에 추가한다:
- Settings → SSH and GPG keys → New SSH key 로 이동한다.
- 복사한 키를 붙여넣고 저장한다.
로컬 저장소 초기화
my-cool-app 라는 폴더가 있다고 가정합니다.
cd path/to/my-cool-app
git init
간단한 파일, 예를 들어 readme.txt 를 만들고 내용은 “Hello world” 로 합니다.
추가 및 커밋
git add .
git commit -m "My first save point"
GitHub에 원격 저장소 만들기
- GitHub에서 New repository를 클릭하고 이름을 지정합니다.
git@github.com:yourname/your-repo.git와 같은 SSH URL을 복사합니다.
원격 연결
git remote add origin git@github.com:yourname/your-repo.git
GitHub에 푸시
git push -u origin main
GitHub 페이지를 새로 고치면 코드가 온라인에 표시됩니다.
Pulling Changes
다른 컴퓨터에서 작업하거나 협업자가 저장소를 업데이트한 경우, 해당 변경 사항을 로컬 복사본으로 가져옵니다:
git pull origin main
“빅 쓰리” 명령어
| 동작 | 명령 | 목적 |
|---|---|---|
| 추가 | git add <file> | 기록하고 싶은 변경 사항을 스테이징합니다 |
| 커밋 | git commit -m "message" | 스테이징된 변경 사항의 스냅샷을 저장합니다 |
| 푸시 | git push | 커밋을 원격 저장소에 푸시합니다 |
처음에 명령을 잊어버려도 걱정하지 마세요—검색하는 것도 학습 과정의 일부입니다. 꾸준히 연습하면 곧 자연스럽게 익숙해질 거예요.
코딩 즐겁게! 🥳