Git에 대해 설명하기 전에 '버전관리'에 대해 먼저 알아봅시다!
버전관리란?
Git에서 버전관리시스템(VCS, Version Control System)을 다음과 같이 정의하고 있어요.
버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템
이게 무슨 말일까요?
대학생들의 과제 발표 준비 과정을 통해 알아볼게요!
교수님이 '이번주까지 OO에 대해 조사해서 발표하세요!' 라고 과제를 내줬어요.
과제를 하기 위해 여러분들은 OO에 대해 조사를 하고 PPT로 발표자료를 만들겠죠!
이때!!
자료조사를 마치고 발표를 위한 PPT를 완성하고
'ㅁㅁ대학교_△△수업_OO자료조사_발표자료.pptx'라는 이름으로
발표자료를 만들었어요!
그런데 조사한 자료 중에 발표자료에 담지 못한 내용이 있네요!
여러분들은 발표자료를 수정하고
'ㅁㅁ대학교_△△수업_OO자료조사_발표자료_최종.pptx'이라는 이름으로
발표자료를 다시 저장을 하겠죠!
그런데!!
이번에는 발표 연습을 하다가 내용에 이상한 부분을 찾았어요!
그럼 또 발표자료를 수정하고
'ㅁㅁ대학교_△△수업_OO자료조사_발표자료_최종2.pptx'이라는 이름으로
발표자료를 다시 저장하죠!
그렇게 '...발표자료.pptx', '...발표자료_최종.pptx', '...발표자료_최종2.pptx', '...발표자료_최종2_최종.pptx', '...발표자료_최종100_최종100_진짜최종.pptx', ... 파일들이 만들어졌네요!
그리고 여러분들은 먼 미래에 발표자료를 처음에 어떻게 만들었고
나중에 만든 발표자료는 어떻게 생겼는지 찾아볼 수 있겠죠!
(물론 절대 안볼거란 것을 알지만 찾아본다고 생각합시다.)
버전관리도 마찬가지에요!
프로젝트를 진행하다 보면 소스코드를 만들고 지우기를 반복하잖아요.
이전에 지운 소스코드는 어떻게 생겼는지,
새로 수정한 소스코드는 어떻게 변경되었는지...
버전관리 시스템에 저장된 수정 이력을 보고 파일을 관리할 수 있어요.
실무에서도 버전관리 시스템이라는 용어를 사용하긴 하지만
형상관리 시스템이라는 용어를 조금 더 많이 사용하니까 꼭 알아두세요!
그 역할을 해주는 것이 바로 Git.
물론 SVN을 사용하는 기업도 많지만 우리는 Git에 대해 알아볼거에요!
Git이란?
그럼 Git이란 단순히 파일의 버전만 관리해주는 버전관리 시스템을 말하는 걸까요?
물론 파일들의 수정 이력과 이전 버전을 조회할 수 있도록 기능을 지원해줘요!
그런데 프로젝트는 혼자서만 진행하는게 아니죠.
같은 파일을 여러 명의 사람들이 동시에 수정할 수도 있어요!
만약에 A와 B와 C와 D와 E가 동시에 '발표자료_최종100_최종100_진짜최종.pptx' 파일을 수정했다면?
어떤 파일이 '진짜진짜 최종' 파일일까요?
정답은 A, B, C, D, E가 수정한 내용을 모두 합친(Merge)
'발표자료_최종100_최종100_진짜진짜최종.pptx' 파일이 가장 최신 파일이 될거에요.
Git이 이런 역할을 해줘요!
같은 파일을 수정했으며 하나로 합쳐주고(Merge)
A가 수정한 파일이 최신이면 B, C, D, E에게 최신 파일을 전달해(Pull)주기도 해요.
많은 사람들이 협업을 통해 만든 프로젝트의 최신화와 버전관리를 해주는
형상관리 시스템의 대표적인 툴이 바로 Git이에요!
'DevOps > GIt' 카테고리의 다른 글
GitHub Repository(리포지터리) 만들기 (0) | 2023.02.14 |
---|---|
Github이란? (0) | 2023.02.01 |
Git 설치하기 (0) | 2023.01.31 |