Git & GitHub 입문 완벽 가이드
개발자 필수 도구인 Git과 GitHub를 설치부터 협업까지 단계별로 완벽하게 마스터해보세요.
핵심 키워드: 버전 관리 시스템, GitHub Flow, Pull Request
이 글의 순서
1. Git이란? — 버전 관리의 핵심 개념
2. Git 설치하기 — OS별 설치 가이드
3. Git 초기 설정 — 설치 후 필수 작업
4. Git 핵심 명령어 — 기본 워크플로우
5. GitHub 시작하기 — 원격 저장소와 협업
6. Pull Request — GitHub 협업의 핵심
7. 실전 워크플로우 — GitHub Flow
8. 자주 하는 실수와 해결법
9. 추천 도구와 플랜
Git이란? — 버전 관리의 핵심 개념
Git은 프로젝트의 타임머신입니다. 언제든 과거로 돌아가거나, 여러 명이 동시에 작업해도 충돌 없이 코드를 관리할 수 있어요.
Git은 2005년 리눅스 창시자인 리누스 토르발즈가 만든 분산 버전 관리 시스템(Distributed Version Control System, DVCS)입니다. 쉽게 말해 “프로젝트의 타임머신”이라고 할 수 있어요.
버전 관리 시스템이란 파일의 변경 이력을 추적하고 기록해주는 소프트웨어입니다. 여러분이 문서를 작성할 때 “최종.docx”, “진짜최종.docx”, “진짜진짜최종.docx” 같은 파일명을 만든 경험이 있을 텐데요, Git은 이런 번거로움 없이 모든 변경사항을 자동으로 기록해줍니다.

2026년 현재 Git의 최신 안정 버전은 v2.53.0(2026년 2월 2일 릴리즈)이며, 올해 말에는 12년 만에 메이저 업데이트인 Git 3.0이 출시될 예정입니다.
Git vs GitHub — 헷갈리는 개념 정리
Git — 여러분의 컴퓨터에 설치하는 버전 관리 소프트웨어 (무료)
GitHub — Git 저장소를 온라인에서 관리할 수 있는 웹 서비스 (무료/유료)
비유 — Git(워드프로그램) vs GitHub(구글드라이브)
Git은 필수, GitHub는 선택사항입니다. GitLab, Bitbucket 등 다른 대안도 있어요.
Git 설치하기 — OS별 설치 가이드
아래 명령어로 Git이 이미 설치되어 있는지 먼저 확인해보세요.
설치 전 확인사항
# Git 설치 여부 확인
git --version
# 설치되어 있다면 이런 출력이 나타납니다
# git version 2.53.0Windows
Windows에 Git 설치하기
방법 1: 공식 인스톨러 (권장)
가장 안정적이고 설정이 편리한 방법입니다.
# 1. https://git-scm.com/download/win 접속
# 2. Git-2.53.0-64-bit.exe 다운로드
# 3. 실행 후 기본 설정으로 Next 클릭
# 설치 확인
git --version방법 2: winget (Windows 패키지 매니저)
Windows 10/11에서 명령어로 설치하는 방법입니다.
# PowerShell을 관리자 권한으로 실행 후
winget install --id Git.Git -e --source wingetWindows 설치 시 권장 설정
기본 에디터: VS Code 선택 (Vim 대신)
PATH 설정: “Git from the command line and also from 3rd-party software”
줄바꿈 설정: “Checkout Windows-style, commit Unix-style line endings”
macOS
macOS에 Git 설치하기
방법 1: Xcode Command Line Tools
터미널에서 git을 입력하면 자동으로 설치 프롬프트가 나타납니다.
# 터미널에서 실행 (자동 설치 프롬프트 표시)
git --version방법 2: Homebrew (권장)
업데이트 관리가 편리하고 최신 버전을 유지할 수 있습니다.
# Homebrew 설치 (이미 설치되어 있다면 생략)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Git 설치
brew install git
# 설치 확인
git --versionLinux
Linux에 Git 설치하기
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install git-all
# Fedora
sudo dnf install git
# CentOS/RHEL
sudo yum install git
# 설치 확인
git --versionGit 초기 설정 — 설치 후 필수 작업
Git을 설치했다면 사용자 정보를 반드시 설정해야 합니다. 이 정보는 모든 커밋에 기록됩니다.
필수 설정 명령어
사용자 이름과 이메일은 GitHub 계정과 동일하게 설정하는 것을 권장합니다.
# 필수: 사용자 이름 & 이메일 설정
git config --global user.name "홍길동"
git config --global user.email "[email protected]"
# 기본 브랜치명을 main으로 설정 (Git 3.0 대비, 권장)
git config --global init.defaultBranch main
# 기본 에디터 설정 (VS Code 사용 시)
git config --global core.editor "code --wait"설정 확인
설정이 제대로 되었는지 확인해보세요.
# 전체 설정 목록 확인
git config --list
# 특정 설정만 확인
git config user.name
git config user.email–global 플래그 이해하기
–global — 해당 PC의 모든 저장소에 적용 (~/.gitconfig 파일에 저장)
플래그 없음 — 현재 저장소에만 적용 (.git/config 파일에 저장)
로컬 설정이 글로벌 설정보다 우선 적용됩니다.
Git 핵심 명령어 — 기본 워크플로우
Git의 3가지 영역
Git은 작업 디렉토리 → 스테이징 영역 → 저장소 순으로 파일을 관리합니다. 이 흐름을 이해하면 Git이 쉬워져요.

[Working Directory] → git add → [Staging Area] → git commit → [Repository]
(작업 공간) (대기 영역) (저장소)Step 1: 저장소 만들기
새 프로젝트 시작할 때
폴더를 만들고 Git 저장소로 초기화하는 방법입니다.
# 새 프로젝트 시작
mkdir my-project
cd my-project
git init
# 출력 예시
# Initialized empty Git repository in /path/my-project/.git/기존 프로젝트 가져올 때
GitHub에 있는 저장소를 내 컴퓨터로 복사하는 방법입니다.
# 원격 저장소 복제
git clone https://github.com/username/repository.git
cd repositoryStep 2: 파일 상태 확인 & 스테이징
가장 자주 쓰는 명령어
git status는 Git에서 가장 중요한 명령어입니다. 현재 상태를 항상 확인하는 습관을 들이세요.
# 현재 상태 확인 (가장 자주 쓰는 명령어!)
git status
# 파일을 스테이징 영역에 추가
git add index.html # 특정 파일만
git add . # 현재 디렉토리의 모든 변경사항
git add -A # 전체 저장소의 모든 변경사항
# 스테이징 취소
git restore --staged index.htmlStep 3: 커밋하기
커밋 메시지 작성 팁
좋은 커밋 메시지는 협업할 때 매우 중요합니다. Conventional Commits 형식을 사용해보세요.
# 커밋 — 변경사항을 히스토리에 기록
git commit -m "feat: 로그인 페이지 HTML 구조 작성"
# add + commit 한번에 (이미 추적 중인 파일만)
git commit -am "fix: 로그인 버튼 클릭 이벤트 수정"
# 커밋 히스토리 확인
git log # 전체 로그
git log --oneline # 한 줄씩 요약
git log --oneline --graph # 브랜치 그래프 포함커밋 메시지 컨벤션
feat: 새로운 기능 추가 — “feat: 회원가입 API 구현”
fix: 버그 수정 — “fix: 이메일 유효성 검사 오류 수정”
docs: 문서 수정 — “docs: README 설치 가이드 업데이트”
style: 코드 포매팅 — “style: ESLint 규칙에 맞게 포매팅”
refactor: 리팩토링 — “refactor: 유저 서비스 로직 분리”
Step 4: 브랜치 다루기
브랜치란?
브랜치는 독립적인 작업 공간입니다. main 브랜치를 건드리지 않고 새 기능을 안전하게 개발할 수 있어요.
# 브랜치 목록 확인
git branch # 로컬 브랜치만
git branch -a # 로컬 + 원격 브랜치
# 브랜치 생성 & 이동 (Git 2.23+ 권장 방식)
git switch -c feature/login # 생성 + 이동
git switch main # main 브랜치로 이동
# 레거시 방식 (여전히 많이 사용)
git checkout -b feature/login
git checkout main
# 브랜치 삭제
git branch -d feature/login # 병합 완료된 브랜치만 삭제
git branch -D feature/login # 강제 삭제GitHub 시작하기 — 원격 저장소와 협업
무료로 시작하기
GitHub 무료 플랜만으로도 무제한 퍼블릭/프라이빗 저장소를 사용할 수 있습니다. 개인 프로젝트나 학습용으로는 충분해요.
GitHub는 Git 저장소를 온라인에서 관리할 수 있는 플랫폼입니다. 코드를 백업하고, 다른 개발자와 협업하며, 포트폴리오를 만들 수 있어요.

계정 생성 & 첫 저장소 만들기
GitHub 계정 생성
계정 생성은 간단합니다. 이메일 인증만 마치면 바로 사용할 수 있어요.
1. https://github.com 접속
2. "Sign up" 버튼 클릭
3. 이메일, 비밀번호, 사용자명 입력
4. 이메일 인증 완료
# 첫 저장소 만들기
1. 로그인 후 우측 상단 "+" 버튼 클릭
2. "New repository" 선택
3. 저장소 이름 입력
4. Public/Private 선택
5. "Create repository" 클릭로컬 ↔ 원격 연결
로컬 프로젝트를 GitHub에 올리기
이미 작업 중인 로컬 프로젝트를 GitHub에 업로드하는 방법입니다.
# 로컬 프로젝트 초기화 & 커밋
git init
git add .
git commit -m "feat: 프로젝트 초기 설정"
# GitHub 저장소와 연결
git remote add origin https://github.com/username/my-project.git
# 첫 번째 푸시 (업스트림 설정)
git push -u origin main
# 이후부터는 간단하게
git push # 로컬 → 원격 (업로드)
git pull # 원격 → 로컬 (다운로드)SSH 키 설정 (선택사항)
비밀번호 없이 push/pull 하기
SSH 키를 설정하면 매번 비밀번호를 입력하지 않고도 GitHub와 통신할 수 있습니다.
# SSH 키 생성
ssh-keygen -t ed25519 -C "[email protected]"
# 공개키 복사 (Windows)
clip < ~/.ssh/id_ed25519.pub
# 공개키 복사 (macOS)
pbcopy < ~/.ssh/id_ed25519.pub
# 공개키 복사 (Linux)
cat ~/.ssh/id_ed25519.pub # 출력 내용을 직접 복사
# GitHub에서 등록
# Settings → SSH and GPG keys → New SSH key → 붙여넣기
# SSH로 원격 저장소 URL 변경
git remote set-url origin [email protected]:username/my-project.gitPull Request — GitHub 협업의 핵심
Pull Request란?
“내 브랜치의 변경사항을 main 브랜치에 합쳐주세요”라고 요청하는 것입니다. 코드 리뷰와 협업의 핵심이에요.
Pull Request(PR)는 GitHub의 가장 중요한 협업 기능입니다. 혼자 개발할 때도 코드 품질을 관리하고, 변경 내역을 체계적으로 기록할 수 있어요.

PR 워크플로우 (단계별 가이드)
실전 PR 만들기
새 기능을 개발하고 PR을 만드는 전체 과정을 따라해보세요.
# Step 1: 새 브랜치 생성 & 작업
git switch -c feature/user-profile
# Step 2: 코드 작성 & 커밋
# (여기서 실제 코드 작성)
git add .
git commit -m "feat: 유저 프로필 페이지 구현"
# Step 3: 원격에 푸시
git push -u origin feature/user-profile
# Step 4: GitHub에서 PR 생성
# → 브라우저에서 저장소 방문
# → "Compare & pull request" 버튼 클릭
# → 제목, 설명 작성 → "Create pull request"
# Step 5: 코드 리뷰 & 승인 (팀원이 진행)
# Step 6: Merge → 브랜치 정리
git switch main
git pull origin main
git branch -d feature/user-profile좋은 PR 제목 작성법
✅ 좋은 예: “feat: 유저 프로필 페이지 구현 (#42)”
✅ 좋은 예: “fix: 로그인 시 토큰 만료 처리 버그 수정”
❌ 나쁜 예: “수정함”, “업데이트”, “작업 완료”
커밋 메시지와 동일한 컨벤션을 사용하되, 이슈 번호를 포함하면 더 좋습니다.
실전 워크플로우 — GitHub Flow
입문자 추천
GitHub Flow는 가장 단순하고 직관적인 브랜칭 전략입니다. 소규모 팀이나 빠른 배포가 필요한 프로젝트에 적합해요.
팀 규모나 프로젝트 특성에 따라 다양한 Git 워크플로우가 있지만, 입문자에게는 GitHub Flow를 가장 추천합니다.
GitHub Flow 핵심 규칙
6가지 규칙만 지키면 안전하고 효율적인 협업이 가능합니다.
main ─────●─────●─────────────●──────
\ /
●───●───●───●───● feature/login
(작업) (PR & Merge)GitHub Flow 6단계
1. main 브랜치는 항상 배포 가능한 상태 유지
2. 새 작업은 반드시 main에서 브랜치 생성
3. 브랜치에서 작업 → 커밋 → push
4. Pull Request를 열어 코드 리뷰 요청
5. 리뷰 승인 후 main에 merge
6. merge된 브랜치는 삭제
.gitignore 파일 작성
Git이 추적하지 않을 파일을 지정하는 중요한 설정파일입니다.
# .gitignore 파일 예시
# OS 생성 파일
.DS_Store
Thumbs.db
# IDE/에디터 설정
.vscode/
.idea/
*.swp
# 의존성 디렉토리
node_modules/
venv/
__pycache__/
# 환경 변수 (보안!)
.env
.env.local
*.secret
# 빌드 결과물
dist/
build/
*.apk
*.ipa
# 로그 파일
*.log
npm-debug.log*자주 하는 실수와 해결법
문제 01
fatal: not a git repository
Git 명령어를 실행했는데 “git 저장소가 아니다”라는 오류가 나타납니다.
해결 — Git 저장소 초기화
# 현재 디렉토리를 Git 저장소로 초기화
git init
# 또는 올바른 저장소 디렉토리로 이동
cd your-project-folder문제 02
커밋 메시지를 잘못 작성했어요
방금 커밋한 메시지에 오타가 있거나 내용을 바꾸고 싶습니다.
해결 — 마지막 커밋 수정
# 마지막 커밋 메시지만 수정
git commit --amend -m "올바른 커밋 메시지"
# 파일까지 추가로 수정하고 싶다면
git add .
git commit --amend --no-edit문제 03
push가 거절당했어요
“Updates were rejected” 오류와 함께 push가 실패합니다.
해결 — 원격 변경사항 먼저 가져오기
# 원격 저장소의 최신 변경사항을 가져옵니다
git pull origin main
# 충돌이 있다면 해결 후 다시 커밋
git add .
git commit -m "merge: 충돌 해결"
# 이제 push가 가능합니다
git push origin main문제 04
민감한 파일을 실수로 커밋했어요
API 키나 비밀번호가 포함된 .env 파일을 실수로 Git에 추가했습니다.
해결 — Git 추적에서 제거
# .gitignore에 민감한 파일 추가
echo ".env" >> .gitignore
# Git 추적에서 제거 (파일은 유지)
git rm --cached .env
# 변경사항 커밋
git add .gitignore
git commit -m "chore: .env 파일을 .gitignore에 추가"
# 주의: 이미 push한 경우 GitHub에서 히스토리 정리 필요추천 도구와 플랜
입문자 추천
명령어에 익숙하지 않다면 GUI 도구로 시작하는 것도 좋은 방법입니다. 익숙해진 뒤 CLI로 전환해보세요.

추천 Git GUI 도구
GitHub Desktop (무료) — GitHub 공식 도구, 가장 직관적
VS Code 내장 Git (무료) — 에디터와 완벽 통합
GitKraken (무료/유료) — 시각적 브랜치 그래프 우수
Sourcetree (무료) — Atlassian 제작, 전문적 기능
GitHub 플랜 비교 (2026년 기준)
Free ($0) — 무제한 저장소, 2,000분 Actions, 입문자 충분
Pro ($4/월) — 3,000분 Actions, 고급 코드 리뷰 도구
Team ($4/유저/월) — 팀 관리 기능, 브랜치 보호
Enterprise ($21/유저/월) — 대규모 조직, SAML SSO
필수 명령어 치트시트
자주 사용하는 Git 명령어를 정리했습니다. 스크린샷으로 저장해두세요!
# ========== 기본 명령어 ==========
git init # 새 저장소 초기화
git clone <url> # 원격 저장소 복제
git status # 현재 상태 확인 ⭐ 가장 중요!
git add <file> # 스테이징
git commit -m "메시지" # 커밋
git log --oneline # 커밋 히스토리
# ========== 브랜치 ==========
git branch # 브랜치 목록
git switch -c <name> # 새 브랜치 생성+이동
git switch <name> # 브랜치 이동
git merge <branch> # 브랜치 병합
git branch -d <name> # 브랜치 삭제
# ========== 원격 저장소 ==========
git remote add origin <url> # 원격 저장소 연결
git push -u origin main # 첫 푸시
git push # 이후 푸시
git pull # 원격 변경사항 가져오기참고 자료
Git 공식 사이트
GitHub
gitignore.io
GitHub Desktop
Git과 GitHub로 개발자의 첫 걸음을
Git과 GitHub는 2026년 현재 모든 개발자가 사용하는 필수 도구입니다. 처음엔 어렵게 느껴질 수 있지만, clone → branch → commit → push → Pull Request → merge 이 6단계 워크플로우만 익숙해져도 팀 협업이 가능해요.
완전 입문자라면 GitHub Desktop으로 시작해서 GUI에 익숙해진 뒤 CLI로 전환하는 것을 권장합니다. GitHub 무료 플랜만으로도 개인 프로젝트와 학습에는 충분하니까요.
실제 프로젝트에서 Git을 사용해보면서 조금씩 고급 기능을 익혀나가시길 바랍니다. git status를 자주 확인하는 습관만 들여도 대부분의 실수를 피할 수 있어요!
긴 글을 읽어주셔서 감사합니다!
Git과 GitHub 사용 중 궁금한 점이 있으시면 언제든 댓글로 남겨주세요. 함께 성장해나가는 개발자가 되었으면 좋겠습니다.
더 많은 개발 팁과 도구 소개는 권퓨터 블로그에서 계속 만나보실 수 있어요!