프로그래밍/Git

[Git 명령어] git add, git commit, git push 완벽 이해하기

분석벌레 2025. 12. 11. 11:33
728x90
Git · Beginner Guide

Git add → git commit → git push 완전 정복

이 글은 Git 초보자도 GitHub로 협업할 수 있도록 핵심 흐름을 쉽게 설명한 가이드입니다.

1. Git에는 세 가지 영역이 있다

Git은 파일을 단순히 기록하는 도구가 아니라, 아래처럼 3단계 저장 구조를 기반으로 동작합니다.

영역 설명
Working Directory 내가 실제로 파일을 수정하는 공간
Staging Area 커밋될 파일을 올려놓는 임시 공간 (준비 영역)
Repository 커밋이 저장되는 로컬 Git 저장소
Git은 “작업(working) → 준비(staging) → 저장(commit)” 흐름으로 동작하며, 이를 제어하는 명령이 바로 add → commit → push 입니다.

2. git add – 변경 파일을 스테이지로 올리기

git add는 변경된 파일을 커밋할 준비 영역(Staging Area)에 올립니다.

특정 파일 추가

git add index.html

여러 파일 추가

git add a.py b.py

모든 변경 파일 추가

git add .

왜 add가 필요할까?
commit은 “add로 올린 파일만” 저장하기 때문에, add는 어떤 파일을 커밋에 포함할지 선택하는 과정입니다.

3. git commit – 스테이지를 하나의 버전으로 저장

commit은 스테이지에 올려둔 파일을 하나의 버전(snapshot)으로 저장합니다.

메시지와 함께 커밋

git commit -m "Fix: 버튼 스타일 개선"

커밋 메시지는 “무엇을, 왜 변경했는지” 간단명료하게 작성하면 좋습니다.

4. git push – 로컬 커밋을 GitHub로 업로드

commit까지는 내 컴퓨터(로컬 저장소)에만 저장됩니다. push를 해야 GitHub(원격 저장소)에 업로드되어 팀원들과 공유할 수 있습니다.

기본 push

git push

특정 브랜치로 push

git push origin main

5. 전체 흐름 예시

예: "로그인 버튼 색상 수정" 작업을 GitHub에 올리고 싶다면 다음처럼 진행합니다.

git add login.css
git commit -m "Fix: 로그인 버튼 색상 수정"
git push origin main
add → commit → push 흐름을 이해하면 Git 사용의 50%는 완료됩니다!

6. 자주 하는 실수 & 해결 방법

❗ add 안 하고 commit 했다면?

변경된 파일이 commit에 포함되지 않음 → 반드시 add 먼저!

❗ push를 안 하면?

GitHub에는 아무 변동이 없음 → commit은 로컬 저장, push는 원격 저장

❗ “origin이 없습니다” 오류

git remote add origin https://github.com/username/repo.git

7. 요약

명령어 설명
git add 커밋할 파일 선택
git commit 선택된 파일을 하나의 버전으로 저장
git push 버전을 GitHub로 업로드