본문 바로가기
Git

Git 이란 무엇일까? Git 기본 개념 정리를 해보자.

by Jiyoon-park 2020. 11. 19.

GIT

VCS(Version Control System) 파일의 변경사항을 지속적으로 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율해 협업을 가능하게 해주는 분산 버전 관리 시스템.

리눅스의 창시자 Linus Torvalds 선생님이 만드셨다. 캬.

NOT delta-based version control BUT stream of snapshots

  • delta-based : 각 버전마다 변경된 내용만 가지고 있다. 때문에 버전 변경 시 변경 사항을 추적해 계산하는 데 시간이 오래 걸리고 그에 따른 문제점이 발생할 수 있다.

  • snapshots : 프로젝트의 전체적인 모습을 스냅샷 찍 듯 가지고 있다. 그래서 버전 별로 혹은 브랜치들 사이에서 자유롭게 이동이 가능하다. 변경되지 않은 파일들은 이전 파일의 링크를 가지고 있기 때문에 무겁지 않다.

✔ Why GIT?

  • 전 세계적으로 가장 많이 사용되고 오픈소스이며 모든 동작이 빠르고, 오프라인에서도 업무가 가능하다. 뿐만 아니라 실수를 했다면 빠르게 고칠 수 있쉽고 빠른 브랜칭으로 효율적인 협업이 가능하다.

  • 추천 Terminal

  • 추천 Source Tree

✔ Git 초기화하고 삭제하기

# 깃 초기화
$ git init

git 초기화

# 깃 삭제
$ rm -rf .git

.git 삭제

✔ 깃에 대한 다양한 명령어 확인

$ git config --h

혹은 git 공식 문서를 참고하세요!

✔ Git workflow

git 에는 working directory, staging area, .git directory 로 세 가지의 작업 환경이 나뉘어있다.

git workflow 한눈에 보기

  • working directory

    프로젝트를 작업하고 있는 곳, 파일의 수정이 일어나는 공간

    • git 이 알고 있는지 여부에 따라 untracked, tracked 로 나뉘고, tracked 안에서도 이전 버전과 차이가 있는지의 여부에 따라 unmodified, modified 로 나뉜다.
  • staging area

    "나 버전 히스토리에 저장할 준비가 됐어!" 의 모임

  • .git directory(== .git repository)

    버전 히스토리를 가지고 있는 장소

* 공부하며 정리한 자료로 미흡한 부분이 있을 수 있습니다. 혹시라도 잘못된 부분이 있다면, 수고로우시겠지만 댓글로 알려주실 수 있을까요? 정말 감사합니다🙆 *