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 이 되지 않는다

 

 

3-4. Remote Repository (원격 저장소) ★

git push 명령어를 사용하여 Local Repository 에 있는 파일을 Git-Hub 같은 사이트 등을 이용하여 서버에 올린다

주로 협업을 위해 사용한다

git pull 명령어를 사용하여 Remote Repository 에 있는 파일을 내 Local Repository 로 가져올 수 있다