Git
[Git] Git 이란?
JITSU
2025. 5. 11. 10:28
📌 버전 관리 시스템 이란?
파일의 변화 내용을 기록, 관리하고 추적을 도와주는 소프트웨어
- 과거에는 svn 사용 (svn은 서버가 망가지면 데이터 모두 소실)
- Git 은 서버가 여러 대라서 망가져도 다른 곳에서 사용 가능
1. Git ?
여러 버전 관리 시스템 중 하나
- 로컬에서 사용
- 굉장히 빠르고 버전을 분산하여 저장하므로 안전하다
- 단, Git의 사용 방법은 다른 버전 관리 시스템에 비해 어렵다는 단점이 있다
로컬에서는 다른 사람과 협업할 수 없으므로 Git-Hub 사용
2. Git - Hub
Git 을 저장하고 공유할 수 있는 서버를 제공하는 사이트 중 하나
- 로컬의 Git 을 올릴 수 있도록 해준다
- Git-Hub 서버에 내 Git을 저장해두면 다른 PC에서도 쉽게 버전을 관리할 수 있다
- 다른 개발자들과 Git을 공유하여 협업이 된다는 장점이 있다
3. Git 구조
3-1. Working Directory (작업 폴더, git 저장소)
git init 명령어를 사용하여 내가 작업하는 공간을 Working Directory 로 설정해둔다
설정하게 되면 해당 폴더에 .git 이라는 숨김 폴더가 생긴다
[ 파일의 상태 ]
Working Directory 영역에 있는 파일들은 아직 Git의 관리 대상이 아니다
관리 대상이 아닌 파일들을 untracked 상태라고 한다
3-2. Staging Area (스테이징 영역)
git add 명령어를 사용하여 Working Directory 의 파일을 Staging Area 로 올린다
수정/추가/삭제 등 이 영역 파일의 변경 사항을 Git이 저장하고 관리한다
[ 파일의 상태 ]
스테이징 영역에 있는 파일들은 Git의 관리 대상이다
관리 대상 파일을 tracked 상태라고 한다
수정 사항을 바로 Local Repository 에 커밋하면 실수가 많아질 것이기 때문에 스테이징 영역에서 수정 내용들을 검토하고
확인 후 로컬 저장소에 커밋한다
[ Tracked 상태 의 종류]
- unmodified : 수정이 되지 않은 상태
- modified : 스테이징 영역에 들어온 파일 중 수정이 된 상태
- staged : 로컬 저장소에 올릴 준비가 완료된 상태
3-3. Local Repository (로컬 저장소)
git commit 명령어를 사용하여 Staging Area 의 staged 상태인 파일을 Local Repository 에 저장한다
로컬 저장소에 커밋 한다는 것은 스테이징 영역의 수정 사항을 확정 짓는 것이다
즉, 새로운 버전 하나를 만들고 저장하는 것
내가 원할 때 언제든 저장한 버전으로(커밋한 시점) 돌아올 수 있다
※ staged 상태가 아니면 commit 이 되지 않는다