본문으로 건너뛰기
개발

Git 설치부터 첫 Push까지 — 완전 초보를 위한 가이드

9 MIN READBY JJY
#Git#GitHub#입문#개발환경

코딩을 시작하면 가장 먼저 듣는 말이 "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

  1. git-scm.com에서 설치 파일을 다운로드합니다.
  2. 설치 과정에서 대부분 기본값(Next)을 누르면 됩니다.
  3. 에디터 선택 단계에서 VS Code를 선택하는 게 편합니다.
  4. 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 계정 만들기

  1. github.com에 접속합니다.
  2. "Sign up" 버튼을 누릅니다.
  3. 이메일, 비밀번호, 유저네임을 입력합니다.
  4. 유저네임은 신중하게 고르세요. 프로필 URL이 github.com/유저네임이 됩니다. 나중에 포트폴리오로 쓰일 수 있습니다.

가입이 끝나면 첫 번째 Repository를 만듭니다.

  1. 오른쪽 상단 "+" 버튼 → "New repository"
  2. Repository name에 프로젝트 이름을 입력합니다 (예: my-first-project)
  3. Public 선택 — 누구나 볼 수 있고, GitHub 잔디(기여 그래프)에 반영됩니다
  4. "Add a README file"은 체크하지 않습니다 — 로컬에서 시작할 거니까요
  5. "Create repository" 클릭

화면에 나오는 명령어들은 잠시 후에 그대로 따라하게 됩니다.

인증 설정 — Push할 때 막히는 이유

여기서 많은 초보자가 막힙니다. git push를 했는데 비밀번호를 물어보고, 입력해도 거절당하는 상황입니다.

2021년 8월부터 GitHub는 비밀번호 인증을 차단했습니다. 대신 Personal Access Token(PAT)을 사용해야 합니다.

토큰 발급 방법

  1. GitHub에 로그인한 상태에서 오른쪽 상단 프로필 사진 클릭
  2. Settings → 왼쪽 메뉴 맨 아래 Developer settings
  3. Personal access tokens → Tokens (classic) → Generate new token (classic)
  4. Note에 "my-laptop" 같은 설명을 적습니다
  5. Expiration(만료)을 선택합니다 — 90일이면 충분합니다
  6. Scopes에서 repo 항목에 체크합니다
  7. "Generate token" 클릭
  8. 나오는 토큰을 지금 바로 복사합니다. 이 페이지를 벗어나면 다시 볼 수 없습니다.

토큰 사용법

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
.envAPI 키, 비밀번호 등 민감 정보
.DS_StoremacOS가 자동 생성하는 폴더 메타데이터
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해보세요. 한 번 해보면 "이게 다야?"라는 생각이 들 겁니다. 진짜 그게 다입니다.

Share
JJY
// AUTHORJJY

AI · WEB SECURITY · DEV ENV

GH

새 글 알림 받기

스팸 없이 새 포스트만 전달합니다.

// RELATED

관련 포스트