사용자가 편히 사용할 수 있도록 버튼이나 아이콘과 같은 그래픽 기반의 사용환경
명령어 기반 사용환경
git을 쉽게 사용할 수 있도록 도와주는 외부 GUI tool(도구)
동작과 이력을 효율적으로 처리하기 위해서 저장공간을 논리적으로 분리
작업공간(working directory/working tree), 임시저장공간(stage), 실질적으로 사용되는 공간(repository)
작업을 하는 공간(로컬저장소에 접근하여 파일을 생성, 수정, 저장하는 공간)
stage영역과 맞닿아 있다.
작업공간에 새롭게 만들어진 파일들은 최초 모두 untracked 상태이다.
해당 파일들의 수정 사항을 반영하고 싶다면 tracked 상태로 바꾸어 주어야 한다.(관리해달라고 통지)
tracked 된 파일들을 관리하는 영역(작업공간과 연결되어 있다.)
tracked 된 파일들의 추적상태를 잠시 복사하여 저장한다.
stage 영역에 저장된 파일들은 모두 tracked 상태가 된다.
최종적인 파일의 변화를 영구적으로 저장하기 위해서는 모든 파일의 상태가 stage상태가 되어야 한다.
stage에 올라가지 않은, 작업공간에 새롭게 만들어진 파일(untracked 파일)도 unstage상태라고 할 수 있다
unstage상태는 stage영역에 있는 파일과 working directory 안의 파일이 서로 차이가 있을 때를 의미한다.
※ 원본과 수정본의 기록을 구분하기 위해 modified와 unmodified로 나누어 관리한다.
영구저장 메세지를 남기는 것(권장사항)
출처 : 직접 수강한 DDAZUA Git&GitHub 강의