본문 바로가기
Setting/Git

[Git] Git의 상태와 영역

by 써-뇽 2025. 2. 11.

Git은 세 가지 영역으로 나뉘게 된다.

1. Working Directory (작업 디렉토리)
· 작업 디렉토리는 우리가 실제로 작업하는 공간
· 예를 들어, VS Code에서 코드를 수정하거나 새로운 파일을 생성하면 그 변화가 보이는 곳이 바로 WD라고 생각하면 된다. 즉, 우리 컴퓨터의 로컬 폴더에 있는 실제 파일들이 존재하는 곳
· 예시:
index.html 파일 생성, app.js 파일 수정 등

💡 이 단계에서는 Git이 아직 변화를 추적하지 못함

2. Staging Area (인덱스)
· Git에게 "이 파일들 변경사항을 저장소에 기록할 거야!"라고 알려주는 단계
· 터미널에서 git add <파일이름> 를 사용하면 Staging Area에 파일이 추가된다.

· 예시: git add index.html app.js
💡이 단계에서
index.html과 app.js는 Staging Area에 올라가게 됨. 아직 Respository에 기록된 건 아님


3. Repository (헤드)
· git add된 내역을 git commit 시변경 사항이 Git 저장소에 영구적으로 저장됨
· 터미널에서 git commit -m "<커밋메시지>" 시 Respository에 저장
· 예시:
git commit -m "index.html 추가 및 app.js 수정"
  • git add: Working Directory의 변경 사항을 Staging Area에 추가하는 명령어
  • git commit: Staging Area의 변경 사항을 Repository에 저장하는 명령어
- 여기까지가 로컬에서 이루어지는 과정
원격 저장소(GitHub, GitLab 등)로 올리려면 저장소 연결이 되어있단 가정하에 Git push를 하면 된다.

이러한 Git의 명령어를 사용하는 과정에서 
명령어를 입력하는 방식인 CLI 또는 마우스를 활용하여 선택 및 클릭하는 방식인 GUI 등 활용하여 Git을 관리하게 된다.


 

구분 특징 예시
CLI 명령어 기반, 빠르고 강력하지만 초보자에게 어려움 터미널 Git Bash, Zsh
GUI 그래픽 요소를 활용, 직관적이고 사용하기 쉬움 Windows, macOS, 웹 브라우저
NUI 자연스러운 입력 방식(터치, 음성, 제스처) 스마트폰 터치, 음성 비서, VR
1. CLI (Command Line Interface)
· CLI는 키보드 입력을 통해 명령어를 직접 입력하여 컴퓨터와 상호작용하는 방식
· 주로 터미널이나 콘솔에서 사용됨 (예: Windows의 cmd, Linux의 bash 또는 zsh)
·  텍스트 기반으로 가벼우며 빠른 실행 가능
·  강력한 스크립트 및 자동화 지원

2. GUI (Graphical User Interface)
· GUI는 사용자가 마우스나 터치스크린을 이용해 그래픽 요소(버튼, 아이콘, 창 등)와 상호작용하는 방식
· 직관적이며 배우기 쉬우므로 사용자가 편리하게 조작 가능

3. NUI (Natural User Interface)
· NUI는 사용자가 특별한 학습 없이 직관적으로 사용할 수 있는 인터페이스를 의미
· 음성, 제스처, 터치, 시선 추적 같은 자연스러운 입력 방식을 활용
· 인공지능(AI) 및 센서 기술과 결합되어 발전