M365Con 2027 – 무료 온라인 컨퍼런스 · 11–22 Jan 2027 · 120 sessions→ m365con.net

블로그 · Mirko Peters

작업 디렉터리 vs 스테이징 영역 vs 로컬 저장소: Git의 세 가지 로컬 영역 이해하기

By ·

Git의 세 가지 로컬 영역을 제대로 익히세요. 작업 디렉터리, 스테이징 영역, 로컬 저장소가 어떻게 함께 동작하는지 알면 프로젝트 이력을 정밀하게 관리할 수 있습니다.

Automatically translated with AI from the original post. Read the English original

Cover: Git - Simply Explained

Git의 세 가지 로컬 영역인 작업 디렉터리, 스테이징 영역, 로컬 저장소를 이해하는 것은 무질서한 파일 복사에서 의도적인 버전 관리로 넘어가는 데 필수적입니다. 이 가이드에서는 각 영역이 실제 사무실처럼 어떻게 기능하는지 설명하여 프로젝트 이력을 정밀하게 관리할 수 있도록 돕습니다.

핵심 요약

  • 작업 디렉터리는 활성 프로젝트 폴더로, 파일을 자유롭게 편집하는 어수선한 사무실 책상과 같습니다.
  • 스테이징 영역은 검토 트레이 역할을 하며, git add로 선택한 특정 변경 사항만 다음 체크포인트를 위해 보관합니다.
  • 로컬 저장소는 파일 캐비닛 역할을 하며, 스테이징된 변경 사항을 구조화된 커밋 이력으로 영구히 기록합니다.
  • git status와 git diff 명령은 이력을 기록하기 전에 로컬 영역 전반에서 무슨 일이 일어나고 있는지 확인할 수 있게 해 주는 안전 점검 도구입니다.
  • 이 세 영역을 이해하면 실수로 커밋하는 일을 막고, 프로젝트 이력을 깔끔하고 논리적으로 유지하는 데 도움이 됩니다.

작업 디렉터리: 활성 책상

컴퓨터에서 프로젝트 폴더를 열고 편집을 시작하면, Git의 첫 번째 로컬 영역인 작업 디렉터리에서 직접 작업하고 있는 것입니다. 이 폴더는 실제 업무 책상이라고 생각하면 됩니다. 웹사이트 코드, 문서, 구성 파일, 이미지 등 여러분이 열고, 만들고, 수정하고, 삭제하는 모든 파일이 여기에 있습니다.

실제 책상처럼 작업 디렉터리도 실험하는 동안 금세 어수선해질 수 있습니다. 로그인 버튼을 고치기 시작했다가 readme 파일의 오타를 발견하고, 새 레이아웃을 테스트하려고 실험용 스크립트를 만들 수도 있습니다. Git은 이 폴더에서 일어난 모든 수정 사항을 자동으로 영구 이력에 기록하지 않습니다. 따라서 프로젝트 기록을 영구적으로 바꾸지 않고도 아이디어를 시도하고, 실수하고, 작업을 미완성 상태로 남겨둘 자유가 있습니다.

마지막 체크포인트 이후 작업 디렉터리에서 무엇이 바뀌었는지 확인하려면 git status 명령을 사용합니다. 쉽게 말해 Git에 상태를 묻는 것은 책상 위에 놓인 모든 것을 점검하는 것과 같습니다. 수정된 파일, 새 파일, 삭제된 파일을 식별하여 마지막 커밋 이후 정확히 무엇이 달라졌는지 보여 줍니다.

스테이징 영역: 검토 트레이

스테이징 영역은 아마도 버전 관리를 처음 접하는 개발자들이 가장 오해하기 쉬운 개념일 것입니다. 이름이 마치 신비로운 기술 저장소처럼 들리기 때문입니다. 대신 스테이징 영역을 책상 바로 옆에 놓인 검토 트레이라고 생각해 보세요. 다음 체크포인트에 포함하려는 변경 사항만 이 트레이에 올려두는 것입니다.

예를 들어 오전 내내 치명적인 비밀번호 재설정 링크를 고치면서, 동시에 환영 화면의 실험적 재디자인도 시작했다고 해 봅시다. 비밀번호 수정 사항은 반드시 기록해야 하지만, 재디자인은 미완성이고 버그도 있습니다. 두 변경 사항을 같은 커밋에 묶고 싶지는 않을 것입니다.

git add와 함께 비밀번호 재설정 파일을 지정하면, 해당 파일의 완성된 변경 사항이 스테이징 영역에 놓이게 됩니다. 이름과 달리 git add는 작업 내용을 영구적으로 저장하지도, 온라인 서버로 무언가를 보내지도 않습니다. 다음 체크포인트를 위해 선택한 파일의 깔끔한 버전을 준비해 둘 뿐입니다. 이 짧은 단계 덕분에 세밀한 제어가 가능해집니다. 스테이징된 변경 사항을 검토하고, 너무 일찍 추가한 항목을 제거하고, 같은 논리적 작업 단위에 속한 다른 파일을 추가로 포함할 수 있습니다.

로컬 리포지토리: 서류 보관함

검토 트레이에 보존하려는 변경 사항이 정확히 담기면, 그 편집 내용은 Git의 세 번째 영역인 로컬 리포지토리로 넘어갑니다. 작업 디렉터리를 책상, 스테이징 영역을 검토 트레이에 비유한다면, 로컬 리포지토리는 안전하게 보관되는 서류 보관함에 해당합니다.

로컬 리포지토리는 모든 커밋과 프로젝트 기록을 컴퓨터의 숨겨진 시스템 폴더에 저장합니다. git commit -m "Fix password reset link"를 실행하면, Git은 스테이징 영역에 준비된 변경 사항을 가져와 이름이 붙은 영구적인 체크포인트로 기록합니다.

이처럼 로컬 우선 구조를 사용하면 인터넷 연결이나 온라인 호스팅 서비스 없이도 완전하고 추적 가능한 프로젝트 기록을 만들 수 있습니다. 모든 작업이 자신의 장비에서 안전하게 이루어집니다. 일상적인 작업 흐름도 안정적인 리듬을 갖게 됩니다. 작업 디렉터리에서 파일을 편집하고, git status로 현재 상태를 확인하고, git add로 필요한 변경 사항만 선택하고, git commit으로 선택한 내용을 기록하면 됩니다.

결론

작업 디렉터리, 스테이징 영역, 로컬 리포지토리의 차이를 이해하면 개발 프로젝트에 접근하는 방식이 달라집니다. 폴더를 작업 공간으로, 스테이징 영역을 검토 트레이로, 로컬 리포지토리를 영구 보관함으로 여기면 프로젝트 기록을 완전히 통제할 수 있습니다.

Git의 기본 버전 관리 개념을 더 깊이 알고 싶다면, M365 FM 팟캐스트의 전체 에피소드를 들어보십시오. Mirko Peters가 Git을 쉬운 말로 설명하고, 이러한 로컬 작업 원리가 더 넓은 팀 워크플로에 어떻게 맞물리는지 알려드립니다.

자주 묻는 질문

작업 디렉터리와 스테이징 영역의 차이는 무엇입니까?

작업 디렉터리는 파일을 자유롭게 편집, 생성, 삭제하는 활성 프로젝트 폴더입니다. 스테이징 영역은 다음 커밋에 포함할 특정 변경 사항만 골라 놓는 선택형 검토 트레이입니다.

git add를 실행하면 파일이 영구적으로 저장됩니까?

아닙니다. git add 명령은 파일을 스테이징 영역으로 옮겨 준비만 할 뿐, 프로젝트 기록에 영구적으로 남기거나 온라인으로 보내지는 않습니다. 영구적인 기록은 git commit을 실행할 때만 이루어집니다.

온라인 호스팅 서비스 없이 Git을 사용할 수 있습니까?

예. Git은 전적으로 로컬 컴퓨터에서 작동하도록 설계되었습니다. GitHub나 인터넷에 연결하지 않고도 로컬 리포지토리를 만들고, 커밋하고, 브랜치를 관리하고, 기록을 확인할 수 있습니다.

실수로 파일을 스테이징했다면 어떻게 해야 합니까?

파일을 너무 일찍 스테이징했다면, Git이 제공하는 스테이징 해제 명령(예: git reset)을 사용하면 됩니다. 이 명령은 최신 편집 내용을 잃지 않고 파일을 스테이징 영역에서 안전하게 제거하여 작업 디렉터리로 되돌려 줍니다.

Entities in this article

Azure Functions

Related articles

RSS