Git

Git 주요컨셉

크레리누 2021. 8. 2. 22:05

Git 파일 저장방식 (Git file status)


Git은 파일을

  • Commited
  • Modified
  • Staged

이렇게 세 가지 상태로 관리한다.

  • commited : 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
  • Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않는 것을 말한다.
  • Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.

Git의 작동원리

  1. working Direcotry는 local에서 작업하는공간, 아직 commit과 git add를 하지않는 현재 작업하는 local의 영역이다. 이곳에서 파일을 수정한다. working directory는 두가지로 나뉠수 있다.지금 시점에서 수정이 되었는지 유무에 따라서 unmodfied / modified 로 나뉠 수 있다.
untracked tracked
새로 만들어진 파일이거나 기존에 존재하던 프로젝트에서 Git을 초기화 하게 되면 Git이 파일에 대한 정보가 전혀 없어 아직 트래킹이 되지않는 파일들은 untracked 카테고리로 나눠볼 수 있다. Git이 이미 파일을 알고있고 트래킹하고 있는 파일이면 tracked의 카테고리로 들어간다.
  1. Staging Area는 commit 할 파일을 임시저장하는 공간으로서, 스냅샷을 만들 파일을 올려 놓는다.
  2. 파일을 commit하면 Git Directory에 스냅샷으로 올라간다. 즉 최종 히스토리를 저장하는 공간이다.

중앙서버가 끊기면 버전관리를 할수 없었던 다른 VCS(Version Control System)와는 달리 Git은 거의 모든 명령이 로컬 파일과 데이터만 사용하기 때문에 네트워크에 있는 다른 컴퓨터는 필요 없다.

Local에서 모든파일과 히스토리를 저장하며, 바뀐 파일만 스냅샷으로 저장하기 때문에 빠르게 변경사항을 체크할 수 있다. 또한 Git은 remote를 통해 local에만 가지고 있는게 아니라 server에 history를 보관할 수 있다.

참고자료