본문으로 건너뛰기
← 블로그로 돌아가기
개발

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

9분 읽기
#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 tokensTokens (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 addgit commitgit 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
JJYAuthor

AI, 웹 보안, 개발 환경에 관심이 많습니다.

새 글 알림 받기

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

관련 포스트