깃 시작하기

김태규·2023년 10월 16일
0

Git 공식문서 학습

목록 보기
1/9
post-thumbnail

📌 깃 이란?

Git은 소규모 프로젝트부터 대규모 프로젝트까
지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 관리 시스템입니다.

공식 사이트에서도 소개하듯이 git은 분산 버전 관리 시스템으로, 각 버전과 변경사항을 기록, 관리가 가능하다.

📍 분산 버전 관리 시스템

위 그림에서 볼 수 있듯이 버전 관리란, 버전의 변경사항과 최종본을 저장하여 보관하는 것을 말한다.

또한 분산형이라는 말은, 위 그림에서 볼 수 있듯이 버전을 여러 개의 복제된 저장소에 저장 및 관리하는 것을 말한다.
이는 버전을 중앙 서버에 저장하고, 중앙 서버에서 파일을 가져와 다시 중앙에 업로드하는 중앙 집중식과 비교하여 다음과 같은 장점이 있다.

  1. 중앙 서버에 의존하지 않고도 동시에 다양한 작업을 수행할 수 있기 때문에 개발자들 간의 작업 충돌을 줄여주고 개발 생산성을 향상시킨다.
  2. 중앙 서버의 장애나 손실에 대비하여 백업과 복구가 용이하다.
  3. 변경 이력과 코드를 로컬 저장소에 기록하고, 나중에 중앙 서버와 동기화하기 때문에 인터넷에 연결되지 않은 환경에서도 작업을 계속할 수 있다.

📍 Git

깃 이란? (Remind)

코드의 '변경 이력'을 기록하고 '협업'을 원활하게 하는 도구

구조

깃은 다음과 같은 세가지 구조로 이루어진다.

  1. Working Directory
    : 실제 작업 중인 파일들이 위치하는 영역

  2. Staging Area
    : Working Directory에서 변경된 파일 중, 다음 버전에 포함시킬 파일들을 선택적으로 추가하거나 제외할 수 있는 중간 준비 영역

  3. Repository
    : 버전 (commit) 이력과 파일들이 영구적으로 저장되는 영역, 모든 버전 (commit) 과 변경 이력이 기록됨

  • (참고) commit
    : 변경된 파일들을 저장하는 행위이며, 마치 사진을 찍듯이 기록한다 하여 'snapshot' 이라고도 함

데이터 흐름

  • local repository :
    1. working dir 에서 변경사항을 작업
    2. staging area 로 변경 사항을 add
    3. 마지막으로 local repository 로 commit
  • remote repository :
    1. local repository 에서 변경사항을 remote repository 로 push 하여 저장
    2. 다른 PC 에서 다시 local repository 로 pull 하여 작업
profile
Frontend, Mobile Developer

0개의 댓글