
- Working Directory: 실제로 소스코드를 작성하고 편집하는 영역으로, 아직 Git으로 변경 사항을 기록하기 전 단계
- Staging Area: 추적할 파일들에 대해서 가상의 저장 공간
- Local Directory(.git directory): Stage Area에 기록된 코드들을 원격 저장소에 저장하기 위해 기록하는 곳.

- commit: 현재 작업 상태를 하나의 스냅샷으로 저장하는 것
- snapshot: 특정 시점의 프로젝트 소스 코드의 특정 버전(변경 이력)
- head: 작업을 하고 있는 위치로, 커밋이 변경될 때마다 가장 최신의 커밋 값을 가리킴.
- branch: 업무 영역 분리/배포 단계 분리/개발 단계 구분 등의 목적으로 서로 개발한 커밋들이 영향을 주지않게 격리하는 것.
- merge: 서로 다른 브랜치에서 기능을 구현해서, 코드를 합치는 기능. 그 과정에서 발생하는 문제를 추적할 수 있음.
- git --help 명령어를 사용하여 명령어 조회할 수 있음.
git init: 저장소 초기화
git add <추적하고싶은 파일 이름>: git이 변경 사항을 추적할 수 있도록 기록하는 작업을 지원.
git status
git commit: 저장
git commit -m "넣고싶은 메세지": 커밋 기록을 남기는게 가능.
git diff: 추적하고 있는 파일의 커밋 이력에 따른 변경 사항을 보여주기도하고, 브랜치 사이에 변경 사항, 커밋끼리 비교하는 등의 변경 작업 차이를 시각적으로 표기
git branch: 브랜치 확인
git branch <브랜치 이름>: 브랜치 생성
git switch <브랜치이름 or main>: 브랜치 전환
git checkout <브랜치이름 or main>: 브랜치 전환
-c: 생성하면서~(create)
-b: 브랜치 생성하면서~(branch)
-d: 삭제하면서~(delete)
-u: 원격 브랜치와 기본 연결 설정(upstream)