GitGit/GitHub 기초강의 6개 중 2번째난이도 입문

Git 기본 명령어 — add, commit, log, diff

발행 읽는 시간 약 1 분

  • Git
  • git add
  • git commit
  • git log
  • git diff

강의 소개

Git의 핵심 명령어를 익힙니다. 파일 추적, 커밋 작성, 이력 조회, 변경 내용 비교 — 매일 쓰는 명령어를 자유롭게 다루는 법을 배웁니다.

매일 쓰는 Git 명령어#

Git 작업의 90%는 다섯 가지 명령어로 이루어집니다: status, add, commit, log, diff.


git status: 현재 상태 확인#

Bash
git status

# 출력 예시
# On branch main
# Changes not staged for commit:
#   modified:   index.html
#
# Untracked files:
#   style.css

파일 상태는 세 가지입니다.

Diagram · Mermaid

git add: 스테이징#

Bash
# 특정 파일만 추가
git add index.html

# 특정 폴더 전체
git add src/

# 현재 디렉토리 전체 (주의: 불필요한 파일 포함될 수 있음)
git add .

# 변경된 파일만 (새 파일 제외)
git add -u

# 대화형으로 선택
git add -p   # 파일 내 특정 부분만 스테이징

git commit: 스냅샷 저장#

Bash
# 커밋 메시지 포함
git commit -m "로그인 페이지 UI 추가"

# 스테이징 없이 바로 커밋 (새 파일 제외)
git commit -am "오타 수정"

# 좋은 커밋 메시지 형식
# feat: 새 기능
# fix: 버그 수정
# docs: 문서 수정
# style: 코드 포맷
# refactor: 리팩토링
# test: 테스트
# chore: 설정·빌드 변경

좋은 커밋 vs 나쁜 커밋#

Text
❌ "수정"
❌ "작업중"
❌ "asdfasdf"

✅ "feat: 사용자 로그인 폼 유효성 검사 추가"
✅ "fix: 모바일에서 메뉴 버튼 클릭 안 되던 문제 수정"
✅ "docs: API 인증 방법 README에 추가"

git log: 이력 조회#

Bash
# 기본 로그
git log

# 한 줄로 요약
git log --oneline
# c3d4e5f (HEAD -> main) fix: 버그 수정
# b2c3d4e feat: 기능 추가
# a1b2c3d docs: README 추가

# 그래프와 함께 (브랜치 시각화)
git log --oneline --graph --all

# 특정 파일의 변경 이력
git log --oneline index.html

# 날짜 범위
git log --after="2026-01-01" --before="2026-04-01"

# 특정 사람의 커밋
git log --author="홍길동"

git diff: 변경 내용 비교#

Bash
# 스테이징 전: 작업 디렉토리 vs 최근 커밋
git diff

# 스테이징 후: 스테이징 vs 최근 커밋
git diff --staged

# 두 커밋 비교
git diff a1b2c3d c3d4e5f

# 특정 파일만 비교
git diff index.html

# 출력 예시
# diff --git a/index.html b/index.html
# --- a/index.html
# +++ b/index.html
# @@ -1,5 +1,6 @@
#  <html>
# -  <title>제목</title>
# +  <title>새 제목</title>
# +  <meta charset="UTF-8">

git restore: 변경 취소#

Bash
# 작업 디렉토리의 변경 취소 (마지막 커밋 상태로)
git restore index.html

# 스테이징 취소 (add 이전으로)
git restore --staged index.html

# 특정 커밋 시점의 파일로 복원
git restore --source=a1b2c3d index.html

실전 워크플로우#

Bash
# 1. 현재 상태 확인
git status

# 2. 변경 내용 검토
git diff

# 3. 스테이징
git add src/login.js src/login.css

# 4. 커밋
git commit -m "feat: 로그인 폼 스타일 개선"

# 5. 이력 확인
git log --oneline

정리#

명령어역할
git status현재 파일 상태 확인
git add <file>스테이징 영역에 추가
git commit -m "msg"커밋 생성
git log --oneline커밋 이력 요약 조회
git diff변경 내용 비교
git restore <file>변경 취소

다음 편에서는 브랜치와 머지 — 독립적인 작업 공간을 만들고 합치는 방법을 배웁니다.

Follow · Ask · Work

이 글이 도움이 됐다면

짧은 작업 기록과 데모는 인스타그램에 올립니다. 만들고 싶은 것이 있다면 프로젝트 의뢰나 협업 제안도 편하게 보내 주세요.

글쓴이

파란여우

직접 만든 AI 앱·제품의 개발·배포를 공개하는 실전형 테크 크리에이터

파란여우 소개 Instagram @bluefox._.hi

이어서 보기

만들고 싶은 것이 있다면 프로젝트 의뢰로 알려 주세요.