Git 버전 관리 이해하기: 변경 사항 추적, 커밋, 푸시 및 풀 (초보자 가이드)

발행: (2026년 1월 18일 오후 11:24 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

버전 관리, 푸시 및 풀의 의미

버전 관리 (Git)

버전 관리는 파일의 변경 사항을 시간에 따라 기록하는 시스템입니다.
간단히 말해 프로젝트의 저장 히스토리를 갖는 것과 같습니다. Git을 사용하면 커밋이라는 체크포인트를 만들게 됩니다. 각 커밋은 프로젝트 히스토리의 일부가 되어 무엇이 바뀌었는지, 언제 바뀌었는지를 확인하고, 필요하면 이전 버전으로 되돌릴 수 있습니다.

유용한 Git 명령어

git status                # 변경된 파일과 커밋 상태를 표시
git add .                 # 다음 커밋을 위해 모든 변경 파일을 스테이징
git commit -m "..."       # 메시지를 포함한 커밋 생성
git log                   # 작성자, 날짜, 메시지와 함께 모든 커밋 나열
git show                  # 특정 커밋이 도입한 변경 사항 표시
git restore               # 파일을 마지막 커밋된 상태로 되돌림
git checkout              # 현재 작업을 변경하지 않고 이전 버전 보기
git checkout main         # main 브랜치의 최신 버전으로 돌아가기

푸시 (Push)

푸시는 로컬 저장소에 저장된 커밋을 원격 저장소(예: GitHub)로 보내는 것을 의미합니다. 푸시를 하면:

  • 작업 내용이 GitHub에 업로드됩니다.
  • 온라인에 백업됩니다.
  • 공유하거나 협업할 수 있게 됩니다.

푸시하지 않으면 작업 내용은 컴퓨터에만 남게 됩니다.

일반적인 푸시 흐름

# 새 저장소의 첫 푸시
git push -u origin main   # 기본 브랜치가 master라면 "master"를 사용

# 현재 브랜치 확인
git branch                # 또는 git status

# 현재 브랜치를 main으로 이름 변경 (필요한 경우)
git branch -M main

# 이후 푸시
git push

Note: 푸시하기 전에 git addgit commit으로 변경 사항을 커밋해야 합니다.

풀 (Pull)

은 원격 저장소(예: GitHub)에서 최신 커밋을 로컬 저장소로 다운로드하는 것을 의미합니다.

다음과 같은 상황에서 필요합니다:

  • 여러 컴퓨터에서 작업하고 모든 곳에 동일한 파일이 필요할 때.
  • 다른 사람과 협업하면서 그들의 최신 변경 사항을 받아야 할 때.
  • GitHub에서 직접 업데이트가 이루어졌고 이를 로컬에 반영해야 할 때.

풀 관련 명령어

git pull                  # 원격에서 변경 사항을 다운로드하고 통합
git fetch                 # 업데이트를 확인하지만 병합은 하지 않음
git merge                 # 가져온 변경 사항을 로컬 파일과 결합

*git fetch*는 원격 커밋에 대한 로컬 저장소의 정보를 업데이트할 뿐이며 작업 파일은 수정되지 않습니다. 적용하기 전에 변경 사항을 검토하고 싶을 때 사용합니다.

다음에 다룰 유용한 옵션으로는 git pull --rebase, git restore, git reset --hard 등이 있습니다.

실전 예시: GitHub에서 변경 사항 추적 및 푸시/풀 (Part 4)

이제 버전 관리, 푸시, 풀에 대해 이해했으니, 시리즈의 다음 부분에서는 이러한 명령어가 어떻게 함께 작동하는지 보여주는 간단한 엔드‑투‑엔드 예제를 진행합니다. Part 4를 기대해 주세요. 여기서는 추가적인 Git 명령어도 살펴볼 예정입니다.

Back to Blog

관련 글

더 보기 »