Git

버전 관리 시스템

버전 관리?

버전 관리 시스템에 대해 설명하기에 앞서, 버전 관리에 대해 알아보도록 합시다.

버전 관리는 어려운 개념이 아닙니다.

예를 들어, 우리가 제출해야 하는 레포트가 하나 있다고 합시다.

처음에 '레포트.txt'를 만들었다가 내용이 바뀔 경우 '레포트_최종.txt',

'레포트_최종2.txt', '레포트_진짜최종.txt' 등등을 만들게 됩니다.

우리는 여러 파일들을 복사, 저장, 백업 등을 하였고 이것을 버전 관리라고 부릅니다.

이처럼 우리는 알게 모르게 파일에 대해 버전을 관리하고 있던 것입니다.

 

버전 관리 시스템

하지만, 위에서 설명하였던 버전 관리 방식은 효율적이지 못하였고, 이를 전문적으로, 효율적으로 관리하는 시스템이 만들어지게 됩니다.

이것을 버전 관리 시스템, 영어로 Version Control System(VCS)라고 부릅니다.

VCS는 크게 클라이언트-서버 모델과 분산 모델로 나눌 수 있습니다.

1. 클라이언트-서버 모델

  • 하나의 중앙 서버가 존재하며, 여러 클라이언트들은 중앙 서버에서 각자 맡은 파트만 가져와서 작업하고, 다시 중앙으로 통합하는 것을 의미합니다.
  • 대표적 시스템으로 CVS, Subversion 등이 있습니다.

2. 분산 모델

  • 하나의 중앙 서버가 존재하지만, 여러 클라이언트들은 각자의 컴퓨터 저장소에 중앙 서버의 전체 사본을 가지고 작업을 하는 것을 의미합니다.
  • 대표적 시스템으로 Git이 여기에 해당합니다.

 

Git이란?

그렇다면 Git은 어떻게 개발되었을까요?

혹시 리눅스(Linux)에 대해서 알고 계신지요?

리눅스는 '리누스 토발즈'라는 핀란드인이 개발한 컴퓨터 운영체제로써, 자유 소프트웨어와 오픈 소스 개발의 표본으로 들 수 있습니다.

이 '리누스 토발즈'가 리눅스라는 운영체제의 커널 버전을 관리하기 위해 2002년에 BitKeeper라는 분산 버전 시스템을 도입하였습니다. 하지만 2005년, 도중에 무료로 사용을 못하게 되자, Git을 만들었다고 합니다.

그래서 리누스 토발즈가 개발한 Git 또한 무료 오픈소스 시스템입니다.

강력한 성능과 안정성이 검증되었고, 이로 인해 수많은 사용자들이 생겨났으며 수많은 기업에서도 활용하고 있습니다.

댓글

댓글 본문