git에 대해 알아보자

여준서·2024년 7월 26일
post-thumbnail

1. 버전 관리 시스템의 필요성

1-1. 버전

프로그래밍에서의 버전의 의미는 기능 추가,버그 수정 등으로 인한 유의미한 변화의 기록을 말한다.
버전의 예시로는 Os(운영체제)의 버전,휴대폰 앱의 버전 등이 있다.
따라서 버전 관리를 하게 된다면 2.과 같은 장점이 있다.

1-2. 버전 관리의 장점

  1. 버전 관리를 하면 무엇을 누가 어떻게 수정했는지 기록할 수 있다.
  2. 코드를 특정 시점의 상태로 되돌릴 수 있다.
  3. 팀원들 간의 코드를 합치는 과정에서 도움을 받을 수 있다.

1-3. 버전 관리를 하지 않을 때 발생하는 문제점

발생하는 문제점을 예로 들어보자면 우리가 프로젝트 폴더를 만들었고 이것을 버전관리 시스템을 이용하지 않고 로컬에서 여러 파일을 저장한다면 어떤 파일이 최신 파일인지 알 수 없는 문제점이 발생하게 된다.
또다른 문제점들은 어떤것이 있을까?

  1. 각 문서의 변경 사항을 파악하기가 힘들다.
  2. 버전 즉 수정내용이 많아진다면 그 버전의 수만큼 파일이 늘어난다.
  3. 협업을 하고 있는 상황이라면 개인의 변경 사항을 팀원들이 반영하기에 너무 힘들다.

이러한 문제점들이 있어 버전 관리 시스템이 등장하게 되었다.
우리가 자주 사용하는 git이 바로 버전 관리 시스템 중 하나이다.

2. Git 이전의 역사

왜 Git이 다른 버전 관리 시스템보다 더 많이 쓰일까?
버전관리 시스템은 버전을 통합적으로 관리해주고 이전버전으로 돌아갈 수 있게 해준다.
따라서 협업에서 필수로 필요하다고 할 수 있다.
git 이전에도 버전 관리 시스템이 있었지만,이 버전 관리 시스템은 중앙 집중식 버전 관리 시스템이였기때문에 대규모 프로젝트에서는 한계가 있었다. 그 이유를 알아보자

2-1 중앙 집중식 버전 관리 시스템

중앙 집중식 버전 관리 시스템은 모든 파일을 중앙 서버가 관리하고, 사용자는 중앙 서버에 접속해서 파일을 수정하고 저장하는 버전 관리 시스템이다.
이 버전 관리 시스템은 여러가지 문제점을 가지고 있다.

2-2 중앙 집중식 버전 관리 시스템의 문제점

  1. 모든 사용자가 중앙 서버에 요청을 보내서, 사용자가 많아지면 서버의 부하가 증가하고 속도가 느려진다.
  2. 만약 중앙 서버가 고장 난다면 손상된 데이터의 복구가 어렵고, 복구하기 전까지 작업을 할 수가 없다.
  3. 잘못된 수정 내용이 반영이 된다면 다른 사용자들에게도 바로 영향을 끼칠수가 있다.

    사실 Git은 최초로 만들어진 분산형 버전 관리 시스템은 아니다.
    Git을 사람들이 많이 쓰게 된 이유는 다음과 같다.

2-3 분산형 버전 관리 시스템

분산형 버전 관리 시스템이란 모든 사용자가 파일 전체의 복사본을 가지고 있으며, 독립적으로 작업하여 변경 내용을 서버에 공유하는 형식의 시스템이다.

대표적인 예시로 앞서 말한 Git이 있고, 위 특징 덕분에 중앙 집중식보다 대규모 프로젝트에 적합하다.

2-4 Git의 특징

  1. 분산형 버전 관리 시스템이다.

    -> 중앙 서버에서 독립해서 시간과 장소에 구애 받지 않고 작업을 할 수있다.
  2. 쉽고 편리하게 버전을 관리 할 수 있다.
  3. 속도도 빠르고 무료이다.

이러한 특징들 때문에 Git을 많이 쓰게 되었다.

profile
DevOps 전향을 준비 중인 인프라 지향형 주니어 개발자

0개의 댓글