[Git] 시작하기 - Git 기초

sun02·2023년 10월 5일
0

Git

목록 보기
1/2
post-thumbnail

Git에 대해 학습한 내용을 정리하는 포스팅입니다.
출처에서 더 자세한 내용을 확인할 수 있습니다.

📍 MacOS 기준으로 작성되어있습니다.


목차

  1. Git의 동작방식
  2. Git의 세 가지 상태
  3. Git의 세 가지 단계
  4. Git의 단계와 상태


1. Git의 동작방식

Git은 데이터를 스냅샷의 스트림처럼 취급한다.

Git과 subversion, perforce와 같은 다른 VCS와의 가장 큰 차이점은 데이터를 다루는 방법입니다. 다른 VCS는 각 파일의 변화를 시간순으로 관리합니다.

그러나 Git은 데이터를 파일 시스템 스냅샷의 연속으로 취급합니다.

  • 시간 순으로 프로젝트의 스냅샷 저장

커밋하거나 프로젝트의 상태를 저장할 때마다 파일이 존재하는 그 순간을 중요하게 여기는 것입니다.

따라서, 파일이 달라지지 않았으면 Git은 파일을 새로 저장하지 않고 이전 상태의 파일에 대한 링크만 저장합니다.



2. Git의 세 가지 상태

Git은 파일을 Committed, Modified, Staged 세 가지 상태로 관리한다.

  • Committed: 데이터가 로컬 데이터베이스에 저장
  • Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않음
  • Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

위 상태들은 Git 프로젝트의 세 가지 단계와 연결되어 있습니다.



3. Git의 세 가지 단계

Git은 디렉토리, 워킹 트리, Staging Area 이렇게 세 가지 단계로 나뉘어진다.

  • Git 디렉토리: Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳
  • 워킹 트리: 프로젝트의 특정 버전을 Checkout 한 것
  • Staging Area: Git 디렉토리에서 곧 커밋할 파일에 대한 정보를 저장하는 곳

  • 워킹 트리, Staging Area, Git 디렉토리


4. Git의 단계와 상태

Git의 단계와 상태를 작업 단계 별로 확인해보면 아래와 같습니다

1. 작업 중인 브랜치에서 파일 수정

단계: 워킹 트리
상태: Modified

  • 워킹 트리에서 파일을 수정합니다.

2. 수정한 파일 Git에 추가

단계: Staging Area
상태: Staged
git command : git add

  • Staging Area에 파일을 Stage해서 커밋할 스냅샷을 생성합니다.

3. commit 하여 Git에 저장

단계: Git 디렉토리
상태: Committed
git command : git commit

  • Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장합니다.

0개의 댓글