yoongrammer

Git 이란? 본문

VCS (Version Control System)/git

Git 이란?

yoongrammer 2020. 11. 14. 23:27
728x90

목차

    Git 이란?


    Git이란 컴퓨터 파일의 변경사항을 추적하고 관리하는 분산형 버전 관리 시스템(DVCS, Distributed Version Control System) 입니다.

    Git 개념


    Git은 파일을 아래 세 가지 상태로 관리합니다.

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

    이 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결돼 있습니다.

    참고: https://git-scm.com/
    • Working 디렉터리(Working tree라고도 함)는 프로젝트의 특정 버전을 git 디렉터리에서 Checkout 한 것입니다. Checkout 하고 나서 수정한 파일은 Modified 상태로 있게 됩니다.
    • Staging Area는 Staged 상태인 파일들이 저장되어 있습니다.
    • Git 디렉터리는 Commited 상태인 파일들이 저장되어 있습니다.

    Git으로 하는 일은 기본적으로 아래와 같습니다.

    1. Working 디렉터리에서 파일을 수정합니다.
    2. Staging Area에 수정된 파일을 추가합니다. (git add ..)
    3. Staging Area에 있는 파일들을 커밋해서 Git 디렉터리에 영구적인 스냅샷으로 저장합니다. (git commit ..)

    다른 VCS와 Git의 차이점

    Git은 다른 VCS와 데이터를 다루는 방법이 다릅니다.

    CVS, Subversion 등의 VCS는 각 파일의 변화를 시간순으로 관리합니다.

    참고: https://git-scm.com/

     

    대신 Git은 데이터를 스냅샷의 스트림처럼 취급합니다. 즉, 개별 파일의 변경사항을 호출하는 대신 스냅샷을 호출하여 언제든지 전체 프로젝트 및 파일 상태를 가져올 수 있습니다.

    Git은 커밋하거나 상태를 저장할 때마다 성능을 위해 달라지지 않은 파일은 새로 저장하지 않습니다.

    참고: https://git-scm.com/

    Git의 장점

    1. Git은 거의 모든 명령을 로컬에서 실행하기 때문에 다른 네트워크 속도에 영향을 받는 CVCS보다 훨씬 빠릅니다.
    2. 네트워크에 접속하지 않아도 작업이 가능합니다.
    3. 브랜치를 통해 여러 명이 동시에 작업하는 병렬 개발이 가능합니다.
    728x90
    Comments