[Git] 기본 개념

jihye·2022년 6월 30일
0

Git

목록 보기
1/4

저장소(Git repository)

파일이나 폴더를 저장해 두는 곳.
파일이 변경 이력 별로 저장되는 이점이 있다.
비슷한 파일이라도 실제 내용 일부 텍스트가 다르면 다른 파일로 인식되어 변경 사항 별로 구분해 저장할 수 있다.

  • 원격 저장소(Remote Repository) : 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
  • 로컬 저장소(Local Repository) : 내 PC에 파일이 저장되는 개인 전용 저장소

내 로컬PC 저장소에서 작업하다가 다른 사람과 공유하거나, 작업물을 공개하고 싶을 때 원격 저장소에 업로드한다. 또한, 원격 저장소에서 다른 사람이 작업한 파일을 로컬 저장소로 가져올 수 있다.



커밋(Commit)

  • 로컬 저장소에서 원격 저장소에 변경된 사항을 기록하기 위해서는 커밋이란 것을 해줘야 한다.
  • 커밋 버튼을 누르면, 이전 커밋 상태부터 현재 상태까지의 변경 이력이 기록된 커밋이 만들어진다.
  • 커밋은 시간순으로 저장되며, 최근 커밋부터 거슬러 올라가면 과거 변경 이력과 내용을 알 수 있다.
  • 각 커밋에는 영문/숫자로 이루어진 40자리 고유 이름이 붙고, 저장소엔 이름을 보고 각 커밋을 구분하고 선택한다.
  • 커밋은 이력을 남기는 중요한 작업이기 때문에, 커밋 메세지를 필수로 입력해야 한다.
  • 커밋 메세지를 입력할 때는, 대부분의 사람들이 따르는 규칙에 맞추어 쓰는 것을 권장한다.


작업 트리(Work tree)

Git 에서는 우리가 흔히 말하는 폴더를 '작업트리(Work tree)'라 한다.



인덱스(Index)

커밋을 실행하기 전 저장소와 작업 트리 사이에 존재하는 공간

저장소에 파일 변경 사항을 기록하기 위해서는, 기록하고자 하는 변경 사항들이 인덱스에 존재해야 한다.
Git의 커밋 작업은 워크트리에 있는 변경 내용을 바로 저장소에 기록하는 것이 아니라, 그 사이 공간인 인덱스에 파일 상태를 기록(stage:스테이징 한다 표현)하게 되어 있다.

만약, 10개의 수정 파일 중 7개의 수정 파일만 저장소에 기록하고 싶을 때 인덱스에 저장소에 기록할 수정 파일만 등록하고, 그 등록된 파일을 저장소에 기록하는 것이다. 이렇게 인덱스란 공간(가상의 공간)은 저장소와 워크트리의 중간에서 필요한 변경 사항만 인덱스에 등록해 커밋할 수 있다.


참고 자료
누구나 쉽게 이해할 수 있는 Git 입문

profile
프론트엔드 개발자

0개의 댓글