Git 설치부터 첫 Push까지완전 초보를 위한 가이드
코딩을 시작하면 가장 먼저 듣는 말이 "Git 써야 해"입니다. 근데 막상 시작하려면 설치부터 막힙니다. 공식 사이트에 가면 선택지가 여러 개고, 터미널에 뭘 치라는 건지 감이 안 옵니다.
이 글은 Git을 한 번도 써본 적 없는 사람을 위해 썼습니다. 설치 → 계정 → 인증 → 첫 Push까지, 하나씩 따라하면 됩니다.
Git이 뭔데, 왜 쓰나
Git은 코드의 변경 이력을 추적하는 도구입니다. 게임의 세이브 포인트를 떠올리면 됩니다.
코드를 수정하다 망하면 이전 상태로 돌아갈 수 있습니다. 여러 기능을 동시에 작업할 때 서로 안 섞이게 분리할 수도 있습니다. 혼자 개발할 때도, 팀으로 일할 때도 Git은 필수입니다.
GitHub는 Git으로 관리하는 코드를 인터넷에 올리는 저장소입니다. Git은 내 컴퓨터에서 돌아가는 도구이고, GitHub는 그 결과물을 클라우드에 보관하는 서비스입니다. Git = 도구, GitHub = 저장소. 이 구분만 기억하면 됩니다.
Git 설치하기
macOS
터미널을 열고 이 명령어를 입력합니다.
git --version
macOS는 Xcode Command Line Tools에 Git이 포함되어 있어서, 이미 설치되어 있을 수 있습니다. git version 2.x.x 같은 출력이 나오면 설치된 상태입니다.
설치가 안 되어 있다면 두 가지 방법이 있습니다.
방법 1: Homebrew로 설치 (추천)
# Homebrew가 없다면 먼저 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Git 설치
brew install git
방법 2: Xcode Command Line Tools
xcode-select --install
팝업이 뜨면 "설치"를 누르면 됩니다.
Windows
- git-scm.com에서 설치 파일을 다운로드합니다.
- 설치 과정에서 대부분 기본값(Next)을 누르면 됩니다.
- 에디터 선택 단계에서 VS Code를 선택하는 게 편합니다.
- PATH 환경 단계에서 "Git from the command line and also from 3rd-party software"를 선택합니다.
설치 후 "Git Bash" 또는 명령 프롬프트에서 확인합니다.
git --version
버전 번호가 나오면 성공입니다.
설치 후 기본 설정
Git에게 "나는 누구인지" 알려줘야 합니다. 이 정보가 커밋 기록에 남습니다.
git config --global user.name "내 이름"
git config --global user.email "내이메일@example.com"
GitHub 가입할 때 쓸 이메일과 같은 걸 넣으세요. 나중에 GitHub에서 커밋 기록이 내 프로필에 제대로 연결됩니다.
설정이 잘 됐는지 확인하려면:
git config --global --list
GitHub 계정 만들기
- github.com에 접속합니다.
- "Sign up" 버튼을 누릅니다.
- 이메일, 비밀번호, 유저네임을 입력합니다.
- 유저네임은 신중하게 고르세요. 프로필 URL이
github.com/유저네임이 됩니다. 나중에 포트폴리오로 쓰일 수 있습니다.
가입이 끝나면 첫 번째 Repository를 만듭니다.
- 오른쪽 상단 "+" 버튼 → "New repository"
- Repository name에 프로젝트 이름을 입력합니다 (예:
my-first-project) - Public 선택 — 누구나 볼 수 있고, GitHub 잔디(기여 그래프)에 반영됩니다
- "Add a README file"은 체크하지 않습니다 — 로컬에서 시작할 거니까요
- "Create repository" 클릭
화면에 나오는 명령어들은 잠시 후에 그대로 따라하게 됩니다.
인증 설정 — Push할 때 막히는 이유
여기서 많은 초보자가 막힙니다. git push를 했는데 비밀번호를 물어보고, 입력해도 거절당하는 상황입니다.
2021년 8월부터 GitHub는 비밀번호 인증을 차단했습니다. 대신 **Personal Access Token(PAT)**을 사용해야 합니다.
토큰 발급 방법
- GitHub에 로그인한 상태에서 오른쪽 상단 프로필 사진 클릭
- Settings → 왼쪽 메뉴 맨 아래 Developer settings
- Personal access tokens → Tokens (classic) → Generate new token (classic)
- Note에 "my-laptop" 같은 설명을 적습니다
- Expiration(만료)을 선택합니다 — 90일이면 충분합니다
- Scopes에서 repo 항목에 체크합니다
- "Generate token" 클릭
- 나오는 토큰을 지금 바로 복사합니다. 이 페이지를 벗어나면 다시 볼 수 없습니다.
토큰 사용법
git push할 때 비밀번호를 물으면, 비밀번호 대신 이 토큰을 붙여넣으면 됩니다.
매번 입력하기 귀찮다면 자격 증명을 저장할 수 있습니다.
# macOS — Keychain에 저장
git config --global credential.helper osxkeychain
# Windows — Windows Credential Manager에 저장
git config --global credential.helper wincred
이렇게 설정하면 한 번만 토큰을 입력하고, 이후에는 자동으로 인증됩니다.
Git의 흐름 — 4단계 구조
파일이 Git을 통해 GitHub까지 가는 과정입니다. 이 구조를 한 번 이해하면 이후 모든 명령어가 자연스럽게 느껴집니다.
Working Directory → Staging Area → Local Repository → Remote (GitHub)
(내 작업 폴더) (커밋할 파일 선택) (내 PC에 저장) (인터넷에 저장)
│ │ │ │
│ git add │ git commit │ git push │
├──────────────────────►├─────────────────────►├──────────────────────►│
- Working Directory: 내가 실제로 코드를 작성하는 폴더
- Staging Area: "이번 커밋에 포함할 파일"을 고르는 장바구니
- Local Repository: 커밋이 저장되는 내 PC의 Git 이력
- Remote: GitHub에 있는 원격 저장소
git add는 장바구니에 담기, git commit은 결제(저장), git push는 택배 보내기입니다.
첫 커밋과 Push — 따라하기
아까 GitHub에서 만든 repository에 코드를 올려보겠습니다.
1. 프로젝트 폴더 만들기
mkdir my-first-project
cd my-first-project
2. Git 저장소 초기화
git init
이 명령으로 .git 이라는 숨김 폴더가 생깁니다. 이 폴더가 Git의 두뇌입니다. 삭제하면 이력이 전부 사라지니 건드리지 마세요.
3. 파일 만들기
echo "# My First Project" > README.md
또는 VS Code에서 README.md 파일을 만들고 아무 내용이나 적어도 됩니다.
4. 상태 확인
git status
빨간 글씨로 README.md가 보입니다. "추적하지 않는 파일(Untracked files)"이라는 뜻입니다. Git이 이 파일의 존재는 알지만, 아직 관리 대상에 넣지 않은 상태입니다.
5. Staging (장바구니에 담기)
git add README.md
다시 git status를 치면 초록색으로 바뀝니다. "커밋할 준비 완료"라는 뜻입니다.
여러 파일을 한 번에 담으려면 git add .을 쓸 수 있습니다. 단, .env(비밀 키)나 node_modules(의존성 폴더)가 포함되지 않도록 .gitignore 파일을 먼저 만들어야 합니다.
6. Commit (저장)
git commit -m "feat: 프로젝트 초기 설정"
-m 뒤에 큰따옴표로 감싼 문장이 커밋 메시지입니다. 나중에 이 기록을 보고 "이때 뭘 했는지" 알 수 있어야 하니까, 구체적으로 적는 게 좋습니다.
7. GitHub 연결
git remote add origin https://github.com/내유저네임/my-first-project.git
origin은 원격 저장소의 별명입니다. 관례적으로 origin을 씁니다. 이 명령은 처음 한 번만 실행하면 됩니다.
8. Push (업로드)
git branch -M main
git push -u origin main
첫 번째 줄은 현재 브랜치 이름을 main으로 설정합니다. 두 번째 줄이 실제로 GitHub에 코드를 올리는 명령입니다. -u 옵션은 "앞으로 git push만 쳐도 이 원격 저장소의 main 브랜치로 보내라"는 설정입니다.
비밀번호를 물으면 아까 복사한 토큰을 붙여넣으세요.
GitHub에서 repository 페이지를 새로고침하면, README.md가 올라와 있습니다. 첫 Push 완료입니다.
.gitignore — 먼저 만들어야 하는 이유
.gitignore는 "Git이 무시할 파일 목록"입니다. 이 파일이 없으면 비밀 키나 거대한 폴더가 실수로 커밋될 수 있습니다. 프로젝트를 시작하면 제일 먼저 만드세요.
# .gitignore 예시
node_modules/
.env
.env.local
.DS_Store
dist/
*.log
| 항목 | 왜 무시하나 |
|---|---|
node_modules/ | 패키지 매니저가 자동 생성. 용량이 수백 MB |
.env | API 키, 비밀번호 등 민감 정보 |
.DS_Store | macOS가 자동 생성하는 폴더 메타데이터 |
dist/ | 빌드 결과물. 소스 코드만 관리하면 됨 |
git clone — 이미 있는 프로젝트에 참여하기
팀 프로젝트에 합류하거나, 오픈소스 코드를 받아올 때는 git clone으로 시작합니다.
git clone https://github.com/팀원/프로젝트이름.git
이 명령어 하나로 다음이 전부 처리됩니다:
- 프로젝트 폴더 생성
git init(자동)- 모든 파일 다운로드
origin원격 저장소 연결 (자동)
Clone 후에는 바로 git add → git commit → git push 흐름으로 작업하면 됩니다.
실수했을 때 — 패닉하지 마세요
"방금 add한 걸 취소하고 싶어"
git restore --staged README.md
Staging Area에서 빼는 것뿐이고, 파일 내용은 그대로입니다.
"커밋 메시지를 잘못 적었어"
git reset --soft HEAD~1
마지막 커밋을 취소합니다. 코드는 그대로 남아있고, 다시 커밋하면 됩니다. --soft가 중요합니다. --hard를 쓰면 코드까지 날아갑니다.
"다른 브랜치에서 급한 수정을 해야 하는데, 지금 작업 중인 게 있어"
git stash # 현재 작업을 임시 서랍에 보관
# 다른 브랜치에서 급한 작업 처리
git stash pop # 서랍에서 꺼내오기
가장 중요한 명령어
무슨 상황인지 모르겠으면 일단 이것부터 치세요.
git status
현재 상태를 보여줍니다. 뭐가 수정됐고, 뭐가 staged 됐고, 뭐가 commit 안 됐는지. 대부분의 상황은 이 명령어 하나로 파악할 수 있습니다.
다음 단계
여기까지 했으면 Git의 핵심 흐름을 경험한 겁니다. 혼자 개발할 때는 이 정도면 충분합니다.
팀으로 일하거나 더 복잡한 워크플로우가 필요해지면, 브랜치 전략, Pull Request, 충돌 해결을 배우면 됩니다. 이 내용은 Git & GitHub 실전 활용법 포스트에서 다룹니다.
지금 당장 해볼 수 있는 건 하나입니다. 아무 폴더에서 git init 치고, 파일 하나 만들고, 커밋하고, GitHub에 Push해보세요. 한 번 해보면 "이게 다야?"라는 생각이 들 겁니다. 진짜 그게 다입니다.