git

git 동작원리

일상코더 2022. 10. 28. 01:43

  기본적으로 깃(Git) 프로젝트에 담겨 있는 데이터들은 파일 시스템 상에서의 스냅샷이라고 볼 수 있다 . 실제로 프로젝트를 커밋하여 적용할 때의 순간을 중요시한다는 특징이 있습니다. 파일 자체를 저장하기보다 수정 내역 자체를 저장한다.

 

 - Working Directory: 작업할 파일이 있는 디렉토리 입

 - Staging Area: 커밋을 수행할 파일들이 올라가는 영역입니다. 

 - Git Directory: Git 프로젝터의 메타 데이터와 데이터 정보가 저장되는 디렉토리입니다. 

 

 

 원격지에 있는 저장소(Remote Repository)에서 맨 처음에  클론(Clone)을 받으면, 자신의 컴퓨터에 해당 프로젝트가 통째로 다운로드가 된다.

 

 이후에 자신이 수정한 내역을 다시 원격지 저장소까지 반영하려면 git add, git commit, git push의 과정을 거처야 합니다. 이후에 다시 저장소로부터 수정된 내역을 받을 대에는 git fetch를 수행합니다. 이러한 과정에서 내가 수정한 내역이 원격지 저장소에 있는 내역과 다를 수 있기 때문에 git merge를 수행하여 자신의 컴퓨터에 있는 소스코드를 원격지 저장소와 맞추는 것이다. git merge와 git fetch를 한번에 사용하는 명령어는 git pull 이다. 

 

 

저장소(Repository)

 

 저장소는 실제 소스코드가 담겨 있으면서 커밋(Commit) 내역 등의 모든 작업 이력이 담겨있는 공간을 의미한다. 실제로 프로젝트의 메타 데이터를 포함해 각종 데이터는 .git 폴더에 담기게 된다. 실제로 이 폴더를 열어 보면 각종 데이터와 해시 값등이 담겨 있다.