Git 이란?

2024. 7. 11. 14:51
반응형

Git은 소스 코드를 관리하기 위한 분산 버전 제어 시스템이다. 버전 제어 시스템은 사용자가 파일을 수정할 때 변경 사항을 기록하고 저장하므로 언제든지 이전 버전의 작업을 복원할 수 있다.

 

코드에 대한 버전 제어 시스템이 없으면 다른 날짜와 이름을 사용하여 파일의 여러 버전을 수동으로 저장해야할 가능성이 높다. 또한 다른 사람들이 무엇을, 언제, 누구에 의해 변경되었는지 알 수 있도록 변경 내용을 맥락화하지 않는다. 즉 여러 구성원이 동일한 파일에서 작업하는 경우 덮어쓰기가 빠르게 문제가 생길 수도 있고 어떤 파일이 최신 버전인지 파악하기 어려울 수 있다. 그러한 문제를 해결하기위해  버전 제어 시스템을 사용한다.

 

Git을 사용하면 소스 코드의 수정 내역에 쉽게 액세스 할 수 있다. 버전이 어떻게 변경되었고 누가 변경했는지 확인할 수 있다. 전체 Git 기록이 공유 저장소에 저장되기 때문에 Git은 이전 버전에서 의도하지 않은 덮어쓰기를 방지할 수 있다.

버전 제어 시스템 이전 및 버전 시스템 이후 비교

 

Git과 같은 버전 제어 시스템을 사용하면 다음 작업을 쉽게 수행 할 수 있다. - Git을 사용하면 생기는 장점!

  • 코드 기록 추적
  • 팀으로 코드에 대해 협업
  • 누가 무엇을 변경했는지 확인이 가능

 

Git 구성 요소

Git 프로젝트에는 세 가지 주요 구성 요소가 있다.

  • 저장소 
    • Local Repository : 내 컴퓨터의 저장소
    • Remote Resitory : 원격 저장소 - Github
  • 워크 트리
    • 작업할 파일이 있는 디렉토리
  • 인덱스
    • 커밋을 수행할 파일이 올라가는 영역

저장소는 프로젝트 파일의 모든 변경 사항을 추적하는 컨테이너이고 팀이 만든 모든 커밋을 가지고 있다. git log command를 사용하여 커밋 기록에 액세스 할 수 있다.

 

작업 트리 또는 작업 디렉터리는 작업중은 파일로 구성된다. 작업 트리를 파일을 보고 수정할 수 있는 파일 시스템으로 생각할 수 있다.

 

인덱스 또는 스테이징 영역은 커밋이 준비되는 곳이다. 스테이징이 되면 작업 트리의 파일이 저장소의 파일과 비교된다. 작업 트리의 파일에 대한 변경 사항은 커밋하기 전에 수정된 것으로 표시된다.

Git 프로젝트의 세 가지 주요 구성 요소는 저장소, 인덱스 및 작업 트리이다.

3가지 영역

Untracked area : Git이 관리하고 있지 않은 영역

Tracked area : Git의 관리를 받을 수 있는 영역

Staging area : Commit이 가능한 영역

출처: https://ittrue.tistory.com/94 [IT is True:티스토리]

 

기본적인 Git 워크플로

  1. 워크 트리에서 파일을 수정한다
  2. 다음 커밋에 포함하려는 변경 사항을 준비한다
  3. 변경 사항을 커밋한다. (커밋하면 인덱스에서 파일을 가져와 저장소에 스냅샷으로 저장한다.) 

 

Git 파일의 세 가지 형태

Git 워크플로에서 짐작하듯이 파일은 다음 세 가지 상태 중 하나일 수 있다.

  • 수정된 파일
  • 스테이징된 파일 (커밋이 가능한 파일로, 커밋하기 전 파일을 담아두는 영역에 있는 파일)
  • 커밋된 파일

파일을 수정하면 워크 트리에서만 해당 변경 사항을 볼 수 있다. 그런 다음 변경 사항을 다음 커밋에 포함하도록 준비해야 한다.

모든 파일 준비를 마치면 파일을 커밋하고 변경한 내용을 설명하는 메시지를 추가할 수 잇다. 그러면 변경 사항이 저장소에 새 스냅샷에 안전하게 기록된다.

반응형

'Git' 카테고리의 다른 글

Git 협업  (0) 2024.07.11
Git 기초  (0) 2024.07.11

BELATED ARTICLES

more